Задача к ЕГЭ по информатике на тему «слова в алфавитном порядке» №2

Все 5-буквенные слова, составленные из букв Л,А,Н,Ь записаны в алфавитном порядке. Вот начало списка:

1. ААААА

2. ААААЛ

3. ААААН

4. ААААЬ

5. АААЛА

…..

Под каким номером в списке идёт последнее слово, в котором буквы Л и Ь встречаются ровно по два раза?

Решение руками:

Присвоим буквам номера: А — 0, Л — 1, Н — 2, Ь — 3. Тогда последнее 5-буквенное слово, в котором будет две буквы Л и Ь — ЬЬНЛЛ или же 33211.

Переведём число 332114  в десятичную. 332114 = 99710  .

Поскольку номер в списке на единицу больше самого числа, то остается прибавить к числу 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
Оцените статью
Я решу все!