Пример 1
Вася составляет 5-буквенные слова из букв К, О, Д, Е, Р. Каждая буква может входить в слово любое количество раз или не входить совсем. Словом считается любая последовательность букв, не обязательно осмысленная.
Сколько существует слов, в которых буква Р встречается ровно 2 раза?
Показать решение и ответ
1. Выбираем две позиции из пяти для буквы Р: C(5, 2) = 5 · 4 / 2 = 10 способов.
2. На каждую из трёх оставшихся позиций ставим любую из четырёх других букв: 4³ = 64 способа.
3. Всего 10 · 64 = 640.
Проверка перебором:
from itertools import product # product перебирает все наборы букв
count = 0 # счётчик подходящих слов
for w in product('КОДЕР', repeat=5): # все слова длины 5 из этих букв
if w.count('Р') == 2: # буква Р встречается ровно два раза
count += 1 # слово подходит
print(count) # 640Ответ: 640
