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

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

1. МММММ

2. ММММО

3. ММММР

4. ММММС

5. МММОМ

…..

Под каким номером в списке идёт последнее слово, в котором буква М встречается один раз, а буква Р два раза?

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

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

Тогда последнее слово, в котором буква М встречается один раз, а буква Р два раза – это

332204 = 100010

Но так как в списке нумерация начинается с единицы, то номер этого слова: 1000 + 1 = 1001  .

Решение Python:

a = ’МОРС’
c = 0
for i in a:
    for j in a:
        for n in a:
            for k in a:
                for m in a:
                    s = i + j + n + k + m
                    c += 1
                    if s.count(’М’) == 1 and s.count(’Р’) == 2:
                        print(c)
#смотрим на последнее выведенное число. Это и будет ответом.


Решение Python:

from itertools import *
c = 0
for i in product(’МОРС’, repeat = 5):
    s = ’’.join(i)
    c += 1
    if s.count(’М’) == 1 and s.count(’Р’) == 2:
        print(c)

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