№8 · решено
Последнее слово с условием
Все пятибуквенные слова, составленные из букв А, П, Р, Е, Л, Ь, записаны в алфавитном порядке и пронумерованы. Вот начало списка: 1. ААААА 2. ААААЕ 3. ААААЛ 4. ААААП 5. ААААР 6. ААААЬ …… Определите, под каким номером в этом списке стоит последнее слово с чётным номером, которое не начинается с букв Ь или Р и при этом содержит в своей записи не менее двух букв Л. Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Источник: ФИПИ (Досрочная волна), № 28754
Ответвпиши то, что вывела программа
Показать разбор
- Запиши буквы по алфавиту: АЕЛПРЬ. Перебирай слова через product с repeat=5.
- Склей слово через join и увеличивай номер n на каждом слове, подходит оно или нет.
- В if проверь условия: номер чётный, первая буква не Ь и не Р, букв Л не меньше двух.
- Запоминай номер каждого подходящего слова в 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)