Крабоед составляет -буквенные слова из букв А, Р, М, И, Я, Ж, Д, Ё, Т. Каждую букву можно использовать любое количество раз, либо не использовать совсем. При этом гласная и согласная буква не должны стоять рядом. Сколько слов сможет составить Крабоед?
Решение руками
Если согласная и гласная буква не должны стоять рядом, значит, наши слова могут выглядеть так: ГГГГГГГ и ССССССС. Согласных букв , а гласных
, значит, общее количество слов будет равно
=
.
Решение через циклы
gl = ’АИЯЁ’
sogl = ’РМЖДТ’
count = set()
for x1 in gl:
for x2 in gl:
for x3 in gl:
for x4 in gl:
for x5 in gl:
for x6 in gl:
for x7 in gl:
s = x1+x2+x3+x4+x5+x6+x7 # составляем слово только из гласных букв
count.add(s)
for x1 in sogl:
for x2 in sogl:
for x3 in sogl:
for x4 in sogl:
for x5 in sogl:
for x6 in sogl:
for x7 in sogl:
s = x1+x2+x3+x4+x5+x6+x7 # составляем слово только из согласных букв
count.add(s)
print(len(count))
Решение через itertools
from itertools import product
count = set()
# слова только из гласных букв
for x in product(’АИЯЁ’,repeat = 7):
s = ’’.join(x)
count.add(s)
# слова только из согласных букв
for x in product(’РМЖДТ’,repeat = 7):
s = ’’.join(x)
count.add(s)
print(len(count))