Сколько различных восьмибуквенных кодовых слов можно составить из букв Ф,А,К,Е,Л, если в каждом из них буква Ф встречается не менее 3 раз?
Всего восьмибуквенных слов 5*5*5*5*5*5*5*5 = 390625. Легче будет сначала сосчитать слова, где буква Ф встречается менее 3 раз, а затем отнять полученное количество от общего числа.
1) Буква Ф не встречается
Значит, в наборе будет доступно 4 буквы, вычисляем: 4*4*4*4*4*4*4*4 = 65536.
2) Буква Ф встречается 1 раз
Позиций, которые может занять буква Ф — 8, вычисляем кол-во слов, где буква Ф находится на одной конкретной позиции, и умножаем на 8:
8*(1*4*4*4*4*4*4*4) = 131072.
3) Буква Ф встречается 2 раза
Считаем количество перестановок двух букв Ф: 8*7/2!=28
Кол-во перестановок умножаем на количество слов, где буква Ф встречается на двух конкретных позициях:
28*(1*1*4*4*4*4*4*4) = 114688.
Считаем, сколько слов существуем с тремя и более буквами Ф: 390625 — 65536 — 131072 — 114688 = 79329.
Решение программой 1:
s = ’ФАКЕЛ’
k = 0
for a in s:
for b in s:
for c in s:
for d in s:
for e in s:
for f in s:
for g in s:
for h in s:
w = a+b+c+d+e+f+g+h
if w.count(’Ф’) >= 3:
k += 1
print(k)
Решение программой 1:
from itertools import product
s = ’ФАКЕЛ’
n = 0
for x in product(s, repeat = 8):
if (’’.join(x).count(’Ф’)) >= 3:
n += 1
print(n)