Задание 8 ЕГЭ: количество слов
Количество слов с условиями. Тема номера — комбинаторика и перебор слов. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.
Пример
Виктор составляет пятибуквенные слова из букв Н, О, Р, К, А. Каждая буква должна войти в слово ровно один раз.
Сколько различных слов, которые не содержат двух гласных, стоящих рядом, может составить Виктор?
Примечание. Слово – последовательность идущих подряд букв, не обязательно осмысленная.
Ответ
72Решение
Слова без повторов — это размещения: всего 5·4·…·1 слов. Условие проверим перебором: itertools.permutations выдаёт все слова без повторяющихся букв. Гласные среди букв: А, О.
Ответ: 72.
from itertools import permutations
letters = sorted("НОРКА") # А К Н О Р
count = 0
for t in permutations(letters, 5):
w = "".join(t)
if not any(a in "АО" and b in "АО" for a, b in zip(w, w[1:])):
count += 1
print(count)