Все 5-буквенные слова, составленные из букв Г,О,Р,А записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААГ
3. ААААО
4. ААААР
5. АААГА
…..
Запишите слово, которое стоит под номером 222.
Решение руками:
Заменим буквы на цифры: А — 0, Г — 1, О — 2, Р — 3.
Теперь запишем 5-буквенные слова в новом алфавите.
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
…..
Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию. Так как порядковый номер слова всегда на единицу больше, чем само слово, то переведем 221 в четверичную систему счисления: . Добавим в начало незначащий 0, так как слова 5-буквенные, получим 03131, остается только обратно заменить цифры на буквы.
Значит на 222 месте стоит слово АРГРГ.
Решение Python:
from itertools import *
c = 0
for i in product(’АГОР’, repeat = 5):
s = ’’.join(i)
c += 1
if c == 222:
print(s)
Решение 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 == 222:
print(s)
break