Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
...
Сколько
Заменим буквы А, О, У на 0, 1, 2 (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00010
...
Полученная запись есть числа, записанные в троичной системе счисления в порядке возрастания. Тогда на 101-м месте будет стоять
100 / 3 = 33 (1)
33 / 3 = 11 (0)
11 / 3 = 3 (2)
3 / 3 = 1 (0)
1 / 3 = 0 (1)
В троичной системе 100 запишется как 10201. Произведём обратную замену и получим ОАУАО, в нём
Ответ: 2.
Приведём другое решение на языке 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 == 101:
s = a[i] + a[j] + a[g] + a[m] + a[n]
print(s.count("А"))
Приведём решение Ильи Андрианова на языке Python.
from itertools import product
k = 1
for s in product(sorted('АОУ'), repeat=5):
slovo = ''.join(s)
if k == 101:
print(slovo.count('А'))
k += 1
Приведём решение Павла Шосткана языке Pascal.
'АОУ'.Cartesian(5).numerate.where(\(a,s)->a=101).select(\(a,s)->s.countof('А')).Print;

