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

Все пятибуквенные слова, составленные из букв В, Я, З, Ь, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка:

  1. ВВВВВ
  2. ВВВВЗ
  3. ВВВВЬ
  4. ВВВВЯ
  5. ВВВЗВ

    ….

Какое слово стоит под номером 947?

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

Заменим буквы на цифры: В – 0, З – 1, Ь – 2, Я – 3. Получим новый список:

  1. 00000
  2. 00001
  3. 00002
  4. 00003
  5. 00010

    ….

Порядковый номер слова всегда больше на единицу, поэтому число 94610  переведём в четверичную систему счисления. Получается, что 94610  = 323024  . Под номером 947 стоит слово ЯЬЯВЬ.

Решение Python:

# Решение 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:
                    w = x1 + x2 + x3 + x4 + x5
                    if n == 947:
                        ans = w
                    n += 1
print(ans)

# Решение 2
from itertools import product

s = ’ВЗЬЯ’
n = 1
ans = ’’
for x in product(s, repeat=5):
    w = ’’.join(x)
    if n == 947:
        ans = w
        break
    n += 1

print(ans)

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