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

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

1. ККККК

2. ККККО

3. ККККР

4. ККККТ

5. КККОК

…..

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

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

Заменим буквы на цифры: К — 0, О — 1, Р — 2, Т — 3. Последнее слово, которое содержит по одной из букв О и Р будет ТТТРО или же под номером 33321.

Так как мы использовали четырехбуквенный алфавит, то нужно перевести число 33321 из четверичной системы счисления в десятичную. 333214 = 101710  . Поскольку номер в списке на единицу больше самого числа, то остается прибавить к числу 1017 единицу. Получаем 1018.

Решение Python:

from itertools import *
coun=0
num=0
for x in product(’КОРТ’, repeat  = 5):
    s=’’.join(x)
    coun+=1
    if s.count(’Р’)==1 and s.count(’О’)==1:
        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(’О’) == 1 and s.count(’Р’) == 1:
                        print(c)

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