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

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

1. ААААА

2. ААААК

3. ААААО

4. ААААР

5. АААКА

…..

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

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

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

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

1. 00000

2. 00001

3. 00002

4. 00003

5. 00010

…..

Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию. Так как порядковый номер слова всегда на единицу больше, чем само слово, то переведем 317 в четверичную систему счисления: 31710 = 103314  .
Значит на 318 месте стоит слово КАРРК.

Решение Python:

alf = ’АКОР’
c = 0
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    s = i + j + k + l + m
                    c += 1
                    if c == 318:
                        print(s)

Решение Python:

from itertools import *
c = 0
for i in product(’АКОР’, repeat = 5):
    s = ’’.join(i)
    c += 1
    if c == 318:
        print(s)

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