Задание №8 — Комбинаторика
#69565Задание №8ФИПИ
Количество информации
Все 4-буквенные слова, в составе которых могут быть только буквы А, Т, О, М, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. АААА
2. АААМ
3. АААО
4. АААТ
5. ААМА
6. ААММ
...
Под каким номером в списке идёт первое слово, которое начинается с буквы О?
Правильный ответ
129
Пояснение
Решение:
Буквы в алфавитном порядке: А, М, О, Т. Слова четырёхбуквенные, поэтому с каждой фиксированной первой буквы начинается ровно слова.
Раньше слов на букву О идут все слова на А и на М — это слов. Значит, первое слово на О (это ОААА) имеет номер .
Тот же результат через четверичную систему (А=0, М=1, О=2, Т=3): ОААА → , номер .
from itertools import product
for n, w in enumerate(product('АМОТ', repeat=4), 1):
if w[0] == 'О':
print(n, ''.join(w))
break
Ответ: 129