Все 5-буквенные слова, составленные из букв К,О,Р,А, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААО
4. ААААР
5. АААКА
…..
Запишите слово, которое стоит под номером 318.
Решение руками:
Заменим буквы на цифры: А — 0, К — 1, О — 2, Р — 3.
Теперь запишем 5-буквенные слова в новом алфавите.
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
…..
Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию. Так как порядковый номер слова всегда на единицу больше, чем само слово, то переведем 317 в четверичную систему счисления: .
Значит на 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)