Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
...
Запишите слово, которое стоит на 125-м месте от начала списка.
Заменим буквы А, О, У на 0, 1, 2 (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00010
...
Полученная запись есть числа, записанные в троичной системе счисления в порядке возрастания. Тогда на 125-м месте будет стоять
124 / 3 = 41 (1)
41 / 3 = 13 (2)
13 / 3 = 4 (1)
4 / 3 = 1 (1)
1 / 3 = 0 (1)
В троичной системе 124 запишется как 11121. Произведём обратную замену и получим ОООУО.
Ответ: ОООУО.
Приведём другое решение на языке Python.
a = {0: "А", 1: "О", 2: "У"}
k = 0
for i in range(0, len(a)):
for j in range(0, len(a)):
for g in range(0, len(a)):
for m in range(0, len(a)):
for n in range(0, len(a)):
k += 1
if k == 125:
print(a[i], a[j], a[g], a[m], a[n], end=" ")
Приведём другое решение Сластихиной Марии на языке Python.
from itertools import *
count = 0
a = product('АОУ', repeat = 5)
for x in a:
count+=1
s = ''.join(x)
if count ==125:
print(s)
Приведём решение Александра Козлова на языке Python.
ss = ['А', 'О', 'У']
s = ''
x = 125 - 1
while x:
s = ss[(x%3)] + s
x //= 3
print(s)

