Все задачи №8
№8

Последнее слово с условием

Все пятибуквенные слова, составленные из букв А, П, Р, Е, Л, Ь, записаны в алфавитном порядке и пронумерованы. Вот начало списка: 1. ААААА 2. ААААЕ 3. ААААЛ 4. ААААП 5. ААААР 6. ААААЬ …… Определите, под каким номером в этом списке стоит последнее слово с чётным номером, которое не начинается с букв Ь или Р и при этом содержит в своей записи не менее двух букв Л. Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.

Источник: ФИПИ (Досрочная волна), № 28754

Ответвпиши то, что вывела программа
Показать разбор
  1. Запиши буквы по алфавиту: АЕЛПРЬ. Перебирай слова через product с repeat=5.
  2. Склей слово через join и увеличивай номер n на каждом слове, подходит оно или нет.
  3. В if проверь условия: номер чётный, первая буква не Ь и не Р, букв Л не меньше двух.
  4. Запоминай номер каждого подходящего слова в last, после цикла напечатай его: последнее и будет ответом.
from itertools import product

n = 0
for x in product('АЕЛПРЬ', repeat=5):
    x = ''.join(x)
    n += 1
    if n % 2 == 0 and x[0] not in 'ЬР' and x.count('Л') >= 2:
        last = n
print(last)