Все 5-буквенные слова, составленные из
Вот начало списка:
1. ААААА
2. ААААК
3. ААААЛ
4. ААААО
5. ААААШ
6. АААКА
...
На каком месте от начала списка стоит слово ШКОЛА?
Заменим буквы А, К, Л, О, Ш на 0, 1, 2, 3, 4 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00004
6. 00010
...
Полученная запись есть числа, записанные в пятеричной системе счисления в порядке возрастания. Запишем
4 · 54 + 1 · 53 + 3 · 52 + 2 · 51 = 2500 + 125 + 75 + 10 = 2710.
Не забудем о том, что есть слово
Ответ: 2711.
Приведём другое решение на языке Python.
a = {0: "А", 1: "К", 2: "Л", 3: "О", 4: "Ш"}
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 a[i] == 'Ш' and a[j] == 'К' and a[g] == 'О' and a[m] == 'Л' and a[n] == 'А':
print(k)
Приведём решение Александра Козлова на языке Python.
x = 41320
s = 0
for i in range(5):
s = s + (x%10)*5**i
x//=10
print(s+1)
Приведём решение Александра Козлова на языке Python.
n=0
s='АКЛОШ'
for a in s:
for b in s:
for c in s:
for d in s:
for e in s:
n+=1
if a+b+c+d+e=='ШКОЛА':
print(n)
Приведём решение Александра Козлова на языке Python.
from itertools import product
s = list(map(lambda x: ''.join(x), product('АКЛОШ',repeat=5)))
print(s.index('ШКОЛА')+1)
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
print(sorted([''.join(p) for p in product('АКЛОШ', repeat=5)]).index('ШКОЛА')+1)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'А, К, Л, О, Ш, '.Remove(', ')
.Sorted.Cartesian(5)
.Select(x -> x.JoinToString(''))
.Numerate
.FirstOrDefault(\(n,s)-> s='ШКОЛА')
.item1//2711
.Print;
end.

