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

Все 6  -буквенные слова, в составе которых могут быть буквы Р, С, К, Ы, Н, И, записаны в определённом порядке и пронумерованы, начиная с 1  . Ниже приведено начало списка.

1. CCCCCC

2. CCCCCЫ

3. СССССР

4. СССССН

5. СССССИ

6. СССССК

7. ССССЫС

Сколько слов между словами «КИСКИС»и «КЫСКЫС»?

Решение 1

from itertools import product
start, finish = 0, 0
count = 0
for i in product(’СЫРНИК’, repeat = 6):
    count += 1
    s = ’’.join(i)
    if s == ’КЫСКЫС’:
        start = count
    if s == ’КИСКИС’:
        finish = count
print(finish - start - 1)
#первое и последнее слово не учитываются

Решение 2

s = ’СЫРНИК’
count = 0
start, finish = 0, 0
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    for f in s:
                        slovo = a+b+c+d+e+f
                        count += 1
                        if slovo == ’КЫСКЫС’:
                            start = count
                        if slovo == ’КИСКИС’:
                            finish = count
print(finish - start - 1)
#первое и последнее слово не учитываются

Решение 3

Пусть С = 0  , Ы = 1  , Р = 2  , Н = 3  , И = 4  , К = 5  в шестиричной системе счисления. Тогда слово «КЫСКЫС» равно 5105106  , слово «КИСКИС» равно 5405406  . Переведём в десятичную систему счисления: 5105106 = 4036210  , 540540 = 44268       6       10  . Количество слов между ними равно 44268 − 40362 − 1 = 3905

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