№8 · решено
Первое слово с условием
Все шестибуквенные слова, составленные из букв А, П, Р, Е, Л, Ь, записаны в алфавитном порядке и пронумерованы. Вот начало списка: 1. АААААА 2. АААААЕ 3. АААААЛ 4. АААААП 5. АААААР 6. АААААЬ …… Определите, под каким номером в этом списке стоит первое слово с нечётным номером, которое не начинается с букв А или Л и при этом содержит в своей записи не менее двух букв П. Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Источник: ФИПИ (Открытый банк), № 29340
Ответвпиши то, что вывела программа
Показать разбор
- Запиши буквы по алфавиту: АЕЛПРЬ. Перебирай слова через product с repeat=6.
- Склей слово через join и увеличивай номер n на каждом слове, подходит оно или нет.
- В if проверь условия: номер нечётный, первая буква не А и не Л, букв П не меньше двух.
- Как только слово подошло, напечатай номер и останови цикл через break.
from itertools import product
n = 0
for x in product('АЕЛПРЬ', repeat=6):
x = ''.join(x)
n += 1
if n % 2 == 1 and x[0] not in 'АЛ' and x.count('П') >= 2:
print(n)
break