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

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

1. ААААА

2. ААААГ

3. ААААД

4. ААААО

5. ААААЯ

6. АААГА

…..

Под каким номером в списке идёт последнее слово, которое содержит хотя бы одну букву Я и одну букву Д?

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

Заменим буквы на цифры: А — 0, Г — 1, Д — 2, О — 3, Я – 4.

Теперь запишем 5-буквенные слова в новом алфавите.

1. 00000

2. 00001

3. 00002

4. 00003

5. 00004

6. 00010

…..

Полученный ряд — числа в пятиричной системе счисления, записанные по возрастанию.

Последнее слово, которое содержит хотя бы одну букву Я и одну букву Д будет выглядеть так ЯЯЯЯД в пятиричной системе выглядит так — 44442      5  .

Переводим в десятичную систему счисления: 444425 = 312210  .

Но поскольку номер в списке на единицу больше самого числа, то остается добавить к получившемуся числу единицу. Получаем число 3123.

Решение Python:

from itertools import *
c = 0
arr = []
for i in product(’АГДОЯ’, repeat = 5):
    s = ’’.join(i)
    c += 1
    if s.count(’Я’) >= 1 and s.count(’Д’) == 1:
        arr.append(c)
print(arr[-1])

Решение Python:

alf = ’АГДОЯ’
c = 0
arr = []
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(’Я’) >= 1 and s.count(’Д’) == 1:
                        arr.append(c)
print(arr[-1])

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