Полина составляет 4-буквенные коды из букв П, О, Л, И, Н, А. Каждую букву можно использовать любое количество раз или совсем не использовать, при этом нельзя ставить подряд две гласные или две согласные. Сколько различных кодов может составить Полина?
Заметим, что поскольку гласных и согласных поровну, слово может начинаться с как с согласной, так и с гласной. Также учтём то, что каждую букву можно использовать любое количество раз.
Поставим на первое место любую из трёх согласных. На второе — любую из трех гласных. На третье — любую из трёх согласных. На четвертое — любую из трех гласных. По правилу произведения, соответствующие количества способов перемножаем. Учитывая, что на первое место можно поставить как согласную, так и гласную, Полина может составить
Ответ: 162.
Приведём другое решение на языке Python.
import itertools
alphabet = "ПОЛИНА"
vol = "ОИА"
con = "ПЛН"
ar = itertools.product(alphabet, repeat=4) #Размещение с повторением
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.
alphabet = 'ПОЛЯНА'
count = 0
ag = 'ОЯА'
ac = 'ПЛН'
for b1 in alphabet:
for b2 in alphabet:
for b3 in alphabet:
for b4 in alphabet:
s=b1+b2+b3+b4
if b1 in ag and b2 in ac and b3 in ag and b4 in ac:
count += 1
if b1 in ac and b2 in ag and b3 in ac and b4 in ag:
count += 1
print(count)
Приведём решение Даны Артюхиной на языке Python.
from itertools import *
k = 0
for i in product('POLINA', repeat=4):
p = ''.join(i)
p = p.replace('I', 'x')
p = p.replace('O', 'x')
p = p.replace('A', 'x')
p = p.replace('N', 'y')
p = p.replace('P', 'y')
p = p.replace('L', 'y')
if 'xx' not in p and 'yy' not in p:
k+=1
print(k)

