Задание №8: Комбинаторика и подсчёт вариантов слов
Основные типы и прототипы задания №8:
Слова с фиксированным алфавитом
Слова в алфавитном порядке
Ограничения на гласные/согласные
Условие задания
(В. Ген) Все пятибуквенные слова, составленные из букв Л, И, С, Ё, Н, О, К, записаны в алфавитном порядке и пронумерованы начиная с 1. Начало списка выглядит так:
1. ЁЁЁЁЁПод каким номером стоит последнее слово, в котором буква Ё встречается не менее двух раз, буква О не стоит в начале слова, а вторая с начала буква – К?
2. ЁЁЁЁИ
3. ЁЁЁЁК
4. ЁЁЁЁЛ
5. ЁЁЁЁН
6. ЁЁЁЁО
7. ЁЁЁЁС
...
Ответ:
15387
Шаблон решения на Python
# === Задание 8: Комбинаторика и списки слов ===
from itertools import product
words = [''.join(p) for p in product('АПРЕЛЬ', repeat=5)]
words.sort()
count = 0
for idx, w in enumerate(words, start=1):
# Условие из задачи:
if w.count('Ь') <= 1 and not ('А' in w and 'Е' in w):
count += 1
print("Подходящих слов:", count)