Задача к ЕГЭ по информатике на тему «слова в алфавитном порядке» №2

Все 6-буквенные слова, составленные из букв А,М,Б,Р, записаны в алфавитном порядке. Вот начало списка:

1. АААААА

2. АААААБ

3. АААААМ

4. АААААР

5. ААААБА

…..

Под каким номером в списке идёт последнее слово, которое содержит сочетание букв АМБАР?

Заменим буквы на цифры: А — 0, Б — 1, М — 2, Р — 3.

Теперь запишем 6-буквенные слова в новом алфавите.

1. 000000

2. 000001

3. 000002

4. 000003

5. 000010

…..

Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию.

Последнее слово, которое содержит сочетание букв АМБАР будет выглядеть так РАМБАР в четверичной системе выглядит так — 3021034  .

Переводим в десятичную систему счисления: 3021034 = 321910  .

Но поскольку номер в списке на единицу больше самого числа, то остается добавить к получившемуся числу единицу. Получаем число 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)

Ответ: 3220
Оцените статью
Я решу все!