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

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

1. ААААА

2. ААААБ

3. ААААВ

4. АААБА

…..

Запишите слово, которое стоит под номером 167.

Решение Python:

from itertools import *
c = 0
for i in product(’АБВ’, repeat = 5):
    s = ’’.join(i)
    c += 1
    if c == 167:
        print(s)

Решение руками:

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

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

1. 00000

2. 00001

3. 00002

4. 00010

…..

Полученный ряд — числа в троичной системе счисления, записанные по возрастанию. Так как порядковый номер слова всегда на единицу больше, чем само слово, то переведем 166 в троичную систему счисления: 166   = 20011   10       3  .

Значит на 167 месте стоит слово ВААББ.

Решение Python:

s = ’АБВ’
k = 0

for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    w = a+b+c+d+e
                    k += 1
                    if k == 167:
                        print(w)

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