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

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

1  . ЕЕЕЕЕ

2  . ЕЕЕЕК

3  . ЕЕЕЕО

4  . ЕЕЕЕФ

5  . ЕЕЕКЕ

Укажите номер последнего слова, в котором ровно одна буква Ф, а буква Е не встречается ни разу.

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

Для начала дадим каждое букве численное значение: Е — 0, К — 1, О — 2, Ф — 3. Как мы видим, данные числа представляют собой цифры четверичной системы счисления. Наибольшее число, буквы которого будут удовлетворять условию выглядит следующим образом: ФОООО = 322224

Переведём данное число в десятичную систему счисления: 322224  = 93810

Поскольку нам нужно определить номер строки, на которой встречается данное слово, а отсчёт строк начинается с 1, то к полученному значению нужно прибавить 1  : 938+ 1 = 939  .

Ответ: 939

Решение через циклы

a = ’ЕКОФ’ # алфавит
count = 0
for x1 in a:
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    s = x1+x2+x3+x4+x5 # составляем слово
                    count += 1 # увеличиваем счётчик строк слов
                    if s.count(’Ф’) == 1 and s.count(’Е’) == 0: # если слово подходит по условию
                        print(count) # вывод номера строки, на котором находится данное слово

Решение через itertools


from itertools import product
# используем порядок букв из начала списка
count = 0
maxim = 0
for i in product("ЕКОФ", repeat=5):
    count += 1
    if i.count("Е") == 0 and i.count("Ф")==1:
        maxim = count
print(maxim)

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