Все четырёхбуквенные слова, составленные из букв К, О, Р, А, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка:
- АААА
- АААК
- АААО
- АААР
-
ААКА
….
На каком месте от начала списка стоит слово РОАК?
Решение руками
Заменим буквы на цифры: А – 0, К – 1, О – 2, Р – 3. Получим новый список:
- 0000
- 0001
- 0002
- 0003
-
0010
….
Используется четырёхбуквенный алфавит, значит, чтобы найти номер слова РОАК, нужно найти значение числа в десятичной системе. Им является число
, но поскольку номер в списке на единицу больше самого числа, то остаётся добавить к получившемуся числу единицу. Получаем число 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)