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

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

1. ЛЛЛЛЛ

2. ЛЛЛЛМ

3. ЛЛЛЛО

4. ЛЛЛЛЬ

5. ЛЛЛМЛ

…..

Укажите количество слов, которые стоят между словами ОМЛОЬ и ЬЛММО(не включая эти слова).

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

Обозначим буквы: Л – 0, М – 1, О – 2, Ь – 3.

Тогда слово ОМЛОЬ – это 21023  = 587      4     10  , а слово ЬЛММО – это 30112 = 790      4     10  .

Общее количество слов между ними (не включая их) равно: 790− 587− 1 = 202  .

Решение Python:

from itertools import *
c = 0
res1 = 0
res2 = 0
for i in product(’ЛМОЬ’, repeat = 5):
    s = ’’.join(i)
    c += 1
    if s == ’ОМЛОЬ’:
        res1 = c
    if s == ’ЬЛММО’:
        res2 = c
print(abs(res2 - res1) - 1)

Решение Python:

alf = ’ЛМОЬ’
c, res1, res2 = 0, 0, 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 == ’ОМЛОЬ’:
                        res1 = c
                    if s == ’ЬЛММО’:
                        res2 = c
print(abs(res2 - res1) - 1)

Ответ: 202
Оцените статью
Я решу все!