Петя составляет 6-буквенные коды из букв П, Е, Т, Я. Каждую букву можно использовать любое количество раз или совсем не использовать, при этом нельзя ставить подряд две гласные или две согласные. Сколько различных кодов может составить Петя?
Заметим, что поскольку гласных и согласных поровну, слово может начинаться с как с согласной, так и с гласной.
Поставим на первое место любую из двух согласных. На второе — любую из двух гласных. На третье — любую из двух согласных. На четвертое — любую из двух гласных. На пятое — любую из двух согласных. На шестое — любую из двух гласных. По правилу произведения, соответствующие количества способов перемножаем. Учитывая, что на первое место можно поставить как согласную, так и гласную, Петя может составить
Ответ: 128.
Приведём другое решение на языке Python.
import itertools
alphabet = "ПЕТЯ"
vol = "ЕЯ"
con = "ПТ"
ar = itertools.product(alphabet, repeat=6) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
flag = True
for i in range(len(e) - 1):
if (e[i] in vol and e[i + 1] in vol) or (e[i] in con and e[i + 1] in con):
flag = False
if flag:
count += 1
print(count)
Приведём решение Ильи Андрианова на языке Python.
from itertools import product
count = 0
for x in product('ПЕТЯ', repeat=6):
slovo = ''.join(x)
if all(pair not in slovo for pair in 'ПП ПТ ТП ТТ ЕЯ ЯЕ ЕЕ ЯЯ'.split()):
count += 1
print(count)

