Все шестибуквенные слова, составленные из букв Б, Р, У, С, О, К, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка:
- ББББББ
- БББББК
- БББББО
- БББББР
- БББББС
- БББББУ
-
ББББКБ
….
Какое слово стоит под номером 435?
Решение руками
Заменим буквы на цифры: Б – 0, К – 1, О – 2, Р – 3, С – 4, У – 5. Получим новый список:
- 000000
- 000001
- 000002
- 000003
- 000004
- 000005
-
000010
….
Порядковый номер слова всегда больше на единицу, поэтому число переведём в шестиричную систему счисления. Получается, что
=
. Под номером 435 стоит слово ББОББО.
Решение Python:
# Решение 1
s = ’БКОРСУ’
n = 1
ans = ’’
for x1 in s:
for x2 in s:
for x3 in s:
for x4 in s:
for x5 in s:
for x6 in s:
w = x1 + x2 + x3 + x4 + x5 + x6
if n == 435:
ans = w
n += 1
print(ans)
# Решение 2
from itertools import product
s = ’БКОРСУ’
n = 1
ans = ’’
for x in product(s, repeat=6):
w = ’’.join(x)
if n == 435:
ans = w
break
n += 1
print(ans)
Ответ: ББОББО