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