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

