Рита составляет семибуквенные кодовые слова из букв Д,И,А,М,Е,Т,Р. Каждую букву можно использовать любое количество раз. При этом слово может начинаться только с гласной буквы, а заканчивается только сочетанием букв МИ, а также слово должно содержать хотя бы одно сочетания букв ЕР и не содержать сочетания букв АДТ. Сколько таких слов может составить Рита?
Решение программой (циклы):
ans = set()
alf = ’ДИАМЕТР’
for x1 in alf:
for x2 in alf:
for x3 in alf:
for x4 in alf:
for x5 in alf:
for x6 in alf:
for x7 in alf:
w = x1 + x2 + x3 + x4 + x5 + x6 + x7
if w[0] in ’ИАЕ’ and w[-2:] == ’МИ’ and ’ЕР’ in w and ’АДТ’ not in w:
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import product
ans = set()
alf = ’ДИАМЕТР’
for w in product(alf, repeat=7):
w = ’’.join(w)
if w[0] in ’ИАЕ’ and w[-2:] == ’МИ’ and ’ЕР’ in w and ’АДТ’ not in w:
ans.add(w)
print(len(ans))