Все 6-буквенные слова, составленные из букв А,М,Б,Р, записаны в алфавитном порядке. Вот начало списка:
1. АААААА
2. АААААБ
3. АААААМ
4. АААААР
5. ААААБА
…..
Под каким номером в списке идёт последнее слово, которое содержит сочетание букв АМБАР?
Заменим буквы на цифры: А — 0, Б — 1, М — 2, Р — 3.
Теперь запишем 6-буквенные слова в новом алфавите.
1. 000000
2. 000001
3. 000002
4. 000003
5. 000010
…..
Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию.
Последнее слово, которое содержит сочетание букв АМБАР будет выглядеть так РАМБАР в четверичной системе выглядит так — .
Переводим в десятичную систему счисления: .
Но поскольку номер в списке на единицу больше самого числа, то остается добавить к получившемуся числу единицу. Получаем число 3220.
# Решение 1
s = ’АБМР’
n = 1
ans = ’’
for x1 in s:
for x2 in s:
for x3 in s:
for x4 in s:
for x5 in s:
for x6 in s:
w = x1 + x2 + x3 + x4 + x5 + x6
if ’АМБАР’ in w:
ans = n
n += 1
print(ans)
# Решение 2
from itertools import product
s = ’АБМР’
n = 1
ans = ’’
for x in product(s, repeat=6):
w = ’’.join(x)
if ’АМБАР’ in w:
ans = n
n += 1
print(ans)