Алексей составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Алексей использует 4-буквенные слова, в которых есть только буквы A, B, C, D, X, причём
На первом месте может быть
То есть всего различных комбинаций
Ответ: 320.
Приведём другое решение на языке Python.
import itertools
alphabet = "ABCDX"
ar = itertools.product(alphabet, repeat=4) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if (e[0] == 'X' or e[0] != 'X') and e[1] != 'X' and e[2] != 'X' and e[3] != 'X':
count += 1
print(count)
Приведём решение Ивана Новикова на языке Python.
from itertools import *
cnt = 0
for i in product('ABCDX', repeat=4):
p = ''.join(i)
if p.count('X') < 2 and p[0] == 'X' or p.count('X') == 0:
cnt +=1
print(cnt)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'ABCDX'.Cartesian(4)
.Where(s->(s.CountOf('X')=0) or
((s.CountOf('X')=1)and(s.First='X'))
).Count.Print;
end.

