Алексей составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Алексей использует 5-буквенные слова, в которых есть только буквы A, B, C, X, причём
На первом месте может быть
То есть всего различных комбинаций
Ответ: 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[-1] == 'X' or e[-1] != 'X') and e[0] != 'X' and e[1] != 'X' and e[2] != 'X' and e[3] != 'X':
count += 1
print(count)
Приведём решение Амирова Тимура на языке Python.
slovo='abcx'
count=0
for x1 in slovo:
for x2 in slovo:
for x3 in slovo:
for x4 in slovo:
for x5 in slovo:
s = x1 + x2 + x3 + x4 +x5
if s.count('x')==1 and x5=='x' or s.count('x')==0:
count+=1
print(count)
Приведём решение Юрия Красильникова на языке Python.
import itertools
k=0
for p in itertools.product('ABCX',repeat=5):
if not 'X' in p[0:4]:
k += 1
print(k)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'ABCX'.Cartesian(5)
.Where(s->(s.CountOf('X')=0)or
((s.last='X')and(s.CountOf('X')=1))
).Count.Print;
end.

