Все четырёхбуквенные слова, составленные из букв А, Б, З, И, записаны в алфавитном порядке и пронумерованы начиная
Ниже приведено начало списка.
1. АААА
2. АААБ
3. АААЗ
4. АААИ
5. ААБА
...
Под каким номером стоит слово ИЗБА?
Заменим буквы А, Б, З, И на 0, 1, 2, 3 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Полученная запись есть числа, записанные в четверичной системе счисления в порядке возрастания. Запишем слово ИЗБА в четверичной системе (3210) и переведём его в десятичную:
3 · 43 + 2 · 42 + 1 · 41 + 0 · 40 = 192 + 32 + 4 = 228.
Не забудем о том, что есть слово
Ответ: 229.
Приведём другое решение на языке Python.
a = {0: "А", 1: "Б", 2: "З", 3: "И"}
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)):
k += 1
if i == 3 and j == 2 and g == 1 and m == 0:
print(k)
Приведём решение Данила Потапова на языке Python.
from itertools import product
data = list(product('АБЗИ', repeat=4))
res = data.index(('И', 'З', 'Б', 'А'))
print(res + 1)
Приведём решение Камила Муртазалиева на языке Python.
from itertools import *
cnt = 0
for p in product('АБЗИ', repeat = 4):
a =''.join(p)
cnt += 1
if a == 'ИЗБА':
print(cnt)

