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

София выписывает все четырехбуквенные комбинации, составленные из букв У, Л, Ы, Б, К, А. При этом упорядочивая их по алфавиту.

Ниже записано начало списка:

  1. АААА
  2. АААБ
  3. АААК
  4. АААЛ
  5. АААУ
  6. АААЫ

Определите, под каким номером в списке идёт первое слово, которое начинается на К и заканчивается на УЛ?

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

Обозначим буквы: А – 0, Б – 1, К – 2, Л – 3, У – 4, Ы – 5.

Тогда первое слово, которое начинается на К и заканчивается на УЛ:

20436 = 45910

Так как в списке нумерация начинается с единицы, то искомый номер – 459 + 1 = 460  .

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

s = ’АБКЛУЫ’

n = 1
nums = []
for a in s:
    for b in s:
        for c in s:
            for d in s:
                w = a+b+c+d
                if a == ’К’ and c+d == ’УЛ’:
                    nums.append(n)
                n += 1
print(min(nums))

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

from itertools import product

c = 0
for x in product(’АБКЛУЫ’, repeat = 4):
    word = ’’.join(x)
    c += 1
    if word[0] == ’К’ and word[-2:] == ’УЛ’:
        print(c)
        break

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