
Условие КЕГЭ: Тип 8 № 6479 (Уровень: Базовый) (A. Поликарпова)
Аня составляет 5-буквенные слова из букв К, A, Р, П, Ы. Каждая буква может встречаться ровно один раз. При этом в слове не могут стоять рядом две гласные буквы, а буква Р не может стоять на первом или последнем месте. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько слов может составить Аня?
.png)
Вариант 1: переберем все слова используя цикл for и строку алфавита "КАРПЫ"
s = 'КАРПЫ' - Присваиваем переменной s значение 'КАРПЫ'.s1 = 'КАПЫ' - Присваиваем переменной s1 значение 'КАПЫ'.count = 0 - Инициализируем переменную count со значением 0.for a in s1: - Создаём цикл по символам в строке s1, используя переменную a.for b in s: - Создаём цикл по символам в строке s, используя переменную b.for c in s: - Создаём цикл по символам в строке s, используя переменную c.for d in s: - Создаём цикл по символам в строке s, используя переменную d.for e in s1: - Создаём цикл по символам в строке s1, используя переменную e.temp = a + b + c + d + e - Соединяем значения переменных a, b, c, d и e в одну строку и присваиваем ее переменной temp.if temp.count('К') == 1 and temp.count('А') == 1 and temp.count('Р') == 1 and temp.count('П') == 1 and temp.count('Ы') == 1 and temp.count('АЫ') == 0 and temp.count('ЫА') == 0: - Проверяем, что в строке temp содержится ровно 1 символ 'К', 1 символ 'А', 1 символ 'Р', 1 символ 'П', 1 символ 'Ы', не содержится комбинация 'АЫ' и не содержится комбинация 'ЫА'.count += 1 - Увеличиваем значение переменной count на 1.print(count) - Выводим значение переменной count на экран.# Код решения Вариант 1
s = 'КАРПЫ'
s1 = 'КАПЫ'
count = 0
for a in s1:
for b in s:
for c in s:
for d in s:
for e in s1:
temp = a + b + c + d + e
if temp.count('К') == 1 and temp.count('А') == 1 and temp.count('Р') == 1 and temp.count('П') == 1
and temp.count('Ы') == 1 and temp.count('АЫ') == 0 and temp.count('ЫА') == 0:
count += 1
print(count)
.png)
Вариант 2: решение через метод permutations из библиотеки itertools