Артём составляет 5-буквенные слова из букв О, П, Е, Р, А. Каждая буква может встречаться ровно один раз. При этом в слове не могут стоять рядом две согласные буквы, а буква П не может стоять на первом или последнем месте. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько слов может составить Артём?
Решение руками
Рассмотрим все варианты того, как могут распологаться гласные и согласные:
СГСГГ – на первом месте может стоять только одна согласная, тогда всего вариантов
СГГСГ — на первом месте может стоять только одна согласная, тогда всего вариантов
СГГГС – такой вариант не возможен, так как в таком случае П обязана стоять или на первом или на последнем месте
ГСГСГ — всего вариантов
ГСГГС — на последнем месте может стоять только одна согласная, тогда всего вариантов
ГГСГС — на последнем месте может стоять только одна согласная, тогда всего вариантов
Просуммируем полученные значения . Тогда всего слов подходящих под условие – 36.
Решение через циклы
a = ’ОПЕРА’
a1 = ’ОЕРА’
count = 0
for x1 in a1:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a1:
s = x1+x2+x3+x4+x5
if len(set(s)) == 5 and (’РП’ not in s) and (’ПР’ not in s):
count += 1
print(count)
Решение через itertools
from itertools import permutations
count = 0
for x in permutations(’ОПЕРА’):
s = ’’.join(x)
if s[0] != ’П’ and s[-1] != ’П’ and (’РП’ not in s) and (’ПР’ not in s):
count += 1
print(count)