Задание 8 ЕГЭ: номер слова в списке
Номер слова в алфавитном списке. Тема номера — комбинаторика и перебор слов. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.
Пример
Все пятибуквенные слова, составленные из букв Т, А, Н, Г, О, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Сколько слов находится в этом списке между словом ООННТ и словом ТОТАТ, не включая сами эти слова?
Примечание. Слово – последовательность идущих подряд букв, не обязательно осмысленная.
Ответ
664Решение
Найдём номера слов: ООННТ — 2315, ТОТАТ — 2980 (как 5-ичные числа плюс 1). Между ними 2980 − 2315 − 1 = 664 слов.
from itertools import product
letters = sorted("ТАНГО") # А Г Н О Т
words = ["".join(t) for t in product(letters, repeat=5)]
print(words.index("ТОТАТ") - words.index("ООННТ") - 1)