Все 5-буквенные слова, составленные из букв Л,А,Н,Ь записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААЛ
3. ААААН
4. ААААЬ
5. АААЛА
…..
Под каким номером в списке идёт последнее слово, в котором буквы Л и Ь встречаются ровно по два раза?
Решение руками:
Присвоим буквам номера: А — 0, Л — 1, Н — 2, Ь — 3. Тогда последнее 5-буквенное слово, в котором будет две буквы Л и Ь — ЬЬНЛЛ или же 33211.
Переведём число в десятичную.
.
Поскольку номер в списке на единицу больше самого числа, то остается прибавить к числу 997 единицу. Получаем 998.
Решение Python:
from itertools import *
coun=0
num=0
for x in product(’АЛНЬ’, repeat = 5):
s=’’.join(x)
coun+=1
if s.count(’Л’)==2 and s.count(’Ь’)==2:
num=coun
print(num)
Решение Python:
alf = ’АЛНЬ’
c = 0
for i in alf:
for j in alf:
for k in alf:
for l in alf:
for m in alf:
s = i + j + k + l + m
c += 1
if s.count(’Л’) == 2 and s.count(’Ь’) == 2:
print(c)
Ответ: 998