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