Задание №8: Комбинаторика и подсчёт вариантов слов
Основные типы и прототипы задания №8:
Слова с фиксированным алфавитом
Слова в алфавитном порядке
Ограничения на гласные/согласные
Условие задания
(Р. Тукеев) Марат составляет шестибуквенные слова из букв слова А, И, К, Л, М, Ь и записывает их в алфавитном порядке в список. Вот начало списка:
1. ААААААНайдите номер первого слова в списке, начинающегося на К и заканчивающегося на Ь, в котором каждая буква встречается всего лишь раз, а разница между номерами этого слова и его перевёртыша составляет 26655. В ответе укажите сумму цифр этого номера. (Пример перевёртыша: питон – нотип).
2. АААААИ
3. АААААК
4. АААААЛ
5. АААААМ
6. АААААЬ
7. ААААИА
...
Ответ:
24
Шаблон решения на 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)