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

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

  1. АААА
  2. АААК
  3. АААО
  4. АААР
  5. ААКА

    ….

На каком месте от начала списка стоит слово РОАК?

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

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

  1. 0000
  2. 0001
  3. 0002
  4. 0003
  5. 0010

    ….

Используется четырёхбуквенный алфавит, значит, чтобы найти номер слова РОАК, нужно найти значение числа 32014  в десятичной системе. Им является число 22510  , но поскольку номер в списке на единицу больше самого числа, то остаётся добавить к получившемуся числу единицу. Получаем число 226.

Решение Python:

# Решение 1
s = ’АКОР’
n = 1
ans = ’’
for x1 in s:
    for x2 in s:
        for x3 in s:
            for x4 in s:
                w = x1 + x2 + x3 + x4
                if w == ’РОАК’:
                    ans = n
                n += 1
print(ans)

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

s = ’АКОР’
n = 1
ans = ’’
for x in product(s, repeat=4):
    w = ’’.join(x)
    if w == ’РОАК’:
        ans = n
        break
    n += 1

print(ans)

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