Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует пятибуквенные слова, в которых могут быть только буквы К, О, Н, Ф, Е, Т, А, причём
Приведём решение на языке Python.
from itertools import product
count = 0
for p in product("КОНФЕТА", repeat=5):
if p.count("Е") == 2 and p[1]!="Ф":
count+=1
print(count)
Ответ: 1944.
Приведём другое решение на языке Python.
a = {0: "К", 1: "О", 2: "Н", 3: "Ф", 4: "Е", 5: "Т", 6: "А"}
count = 0
for i in range(0, len(a)):
for j in range(0, len(a)):
for g in range(0, len(a)):
for m in range(0, len(a)):
for n in range(0, len(a)):
s = a[i] + a[j] + a[g] + a[m] + a[n]
if a[j] != 'Ф' and s.count('Е') == 2:
count += 1
print(count)
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
print(len([p for p in product('КОНФЕТА',repeat = 5) if p.count('Е') == 2 and p[1] != 'Ф']))
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'КОНФЕТА'.Cartesian(5)
.Where(s->s[2]<>'Ф') // вторая буква не Ф
.Where(s->s.CountOf('Е')=2) // буква Е ровно 2 раза
.Count.print; // 1944
end.

