Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Т должна входить в код не менее одного раза, а буква Й – не более одного раза. Сколько различных кодов может составить Тимофей?
Решение через циклы
ans = 0
for a1 in (’ТИМОФЕЙ’):
for a2 in (’ТИМОФЕЙ’):
for a3 in (’ТИМОФЕЙ’):
for a4 in (’ТИМОФЕЙ’):
for a5 in (’ТИМОФЕЙ’):
s = a1+a2+a3+a4+a5
if s.count(’Т’) >= 1 and s.count(’Й’) <= 1: # проверка по условию
ans += 1
print(ans)
Решение через itertools
from itertools import product
count = 0
for x in product(’ТИМОФЕЙ’,repeat = 5):
s = ’’.join(x)
if s.count(’Т’) >= 1 and s.count(’Й’) <= 1: # проверка по условию
count += 1
print(count)
Ответ: 8006