ex exxam.ru
Задания8 из 27
01 Графы: схема дорог и таблица расстояний 02 Логика: фрагмент таблицы истинности, порядок столбцов 03 Базы данных: поиск информации в связанных таблицах 04 Кодирование: условие Фано и двоичное дерево кода 05 Двоичная запись числа: алгоритм строит новое число 06 Исполнитель Черепаха: движение и подсчёт точек 07 Информационный объём: звук и изображения 08 Подсчёт слов: лексикографический список и перебор текущее09 Электронные таблицы: подсчёт строк по условию 10 Текстовый документ: поиск сочетаний букв по условию 11 Объём данных: мощность алфавита и кодирование 12 Исполнитель МТ (машина на ленте): чтение программы 13 IP-адреса и маски сетей TCP/IP 14 Арифметические выражения и системы счисления 15 Логика: истинность выражения с отрезками и предикатами 16 Рекурсивные функции: чтение и счёт по формулам 17 Обработка целочисленной информации: поиск пар в файле 18 Динамическое программирование: Робот-сборщик монет 19 Игры: выигрышная стратегия первым ходом (куча) 20 Игры: победа Пети своим вторым ходом (куча) 21 Игры: победа Вани первым или вторым ходом (куча) 22 Многопоточные вычисления: максимальное число одновременных процессов 23 Динамика: количество программ исполнителя 24 Обработка символьных строк: поиск подстроки по условию 25 Перебор чисел: делители и сумма M 26 Задание 26 нужны файлы27 Задание 27 нужны файлы
8
1 балл демоверсия ЕГЭ-2026

Подсчёт слов: лексикографический список и перебор

Задание 8 · Билет 1 · ЕГЭ по информатике

Билет 1 — демоверсия ЕГЭ-2026; остальные билеты — задания в формате экзамена (открытый сборник или тренировочные по образцу). Это тренировочные материалы, а не официальные КИМ. Ответы пересчитаны и сверены.

Условие

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

1. ААААА
2. ААААК
3. ААААО
4. ААААР
5. ААААС
6. ААААТ
……

Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.

Вопрос. Определите, под каким номером стоит последнее слово с чётным номером, которое не начинается с букв А, С или Т и содержит ровно две буквы О.

Попробуйте программой

Необязательно, но удобно: напишите здесь свой код на Python, который найдёт ответ. Если не получится — откройте решение и вставьте готовую программу одной кнопкой.

Решите программой на Python

в браузере

Напишите свой код, который найдёт ответ, и нажмите «Выполнить». Горячая клавиша запуска: Ctrl/⌘ + Enter.

Результат
Здесь появится вывод print().

Разбор задачи

Задание 8 ЕГЭ по информатике — это лексикографический список слов. Из букв алфавита составляют все слова одной длины, записывают их в алфавитном порядке и нумеруют с 1. Нужно найти номер подходящего слова или посчитать, сколько слов удовлетворяют условию.

Ключевая идея: список слов — это «счёт» в системе счисления с основанием, равным числу букв. Для слов одной длины порядок совпадает с порядком чисел, поэтому перебор слов — то же самое, что перебор чисел. Остаётся аккуратно применить фильтры из условия.

Что важно знать

  • Задание базового уровня — оценивается в 1 балл
  • Нумерация слов — с 1, а не с 0
  • Список слов одной длины — тот же порядок, что у чисел в системе с основанием m
  • Фильтры (чётный номер, запрет первых букв, ровно две буквы) применяем при переборе

План решения

  1. Выпишите алфавит в порядке из условия и длину слова
  2. Посчитайте, сколько всего слов: m в степени L
  3. Переберите слова по порядку и примените фильтры
  4. Для вопроса «под каким номером» запомните последнее подходящее, для «сколько» — посчитайте все
  5. Сверьте: посмотрите слова вокруг ответа и убедитесь, что условие выполнено
Не знаешь, как решать?

Потренируйся перебирать слова по условию: тренажёр собирает слова в алфавитном порядке и учит находить номер или количество подходящих.

Открыть тренажёр

Решение

Теория с нуля: что нужно знать
1. Как устроен список слов
Слова составляются из букв алфавита и записываются в алфавитном порядке, как в словаре. Каждому слову присваивается номер по порядку.
2. Список — как числа
Если алфавит из m букв и все слова одной длины, то список — это «счёт» в системе счисления с основанием m: номер слова = значение числа + 1. Например, для слов длины 2 из букв А, Б: АА(1), АБ(2), БА(3), ББ(4).
3. Условия-фильтры
В задаче добавляют фильтры: слово с чётным номером, не начинается с некоторых букв, содержит ровно две буквы О. Проще всего перебрать слова по порядку и проверить условия.

Решение

открыто шагов: 6 из 6
1 Шаг 1
Задача. Нужно найти номер строки, на которой стоит последнее подходящее слово. Список идёт в алфавитном порядке, начиная с ААААА.
2 Шаг 2
План — цикл по словам. Заводим цикл, который перебирает слова по одному: начинаем с ААААА и на каждом шаге получаем следующее слово, пока не дойдём до ТТТТТ.
3 Шаг 3
Три проверки внутри цикла. Для каждого слова проверяем: номер строки чётный; первая буква не равна А, С, Т; в слове ровно две буквы О.
4 Шаг 4
Если все три проверки прошли — запоминаем номер этого слова, перезаписывая предыдущий. Так в памяти остаётся именно последнее подходящее слово, а не первое.
5 Шаг 5
Конец цикла — ответ. Когда слова закончились, в памяти лежит номер последнего подходящего слова — это и есть ответ: 5058 (слово РТООТ).
6 Шаг 6
Почему удобнее программой. Одно и то же правило применяется к тысячам слов — вручную легко ошибиться. Готовая программа — в решении ниже: вставьте её в песочницу кнопкой и запустите.

Программа, которая находит ответ:

from itertools import product   # product перебирает все наборы букв

alphabet = 'АКОРСТ'    # буквы в порядке из условия: А, К, О, Р, С, Т
bad = 'АСТ'            # слова не должны начинаться с этих букв (А, С или Т)

i = 0                  # номер слова (нумерация с 1)
last = None            # здесь запомним номер последнего подходящего слова

for comb in product(alphabet, repeat=5):   # берём очередной набор букв
    i = i + 1                               # это номер слова
    w = ''.join(comb)                       # склеиваем буквы в слово
    if i % 2 != 0:         # номер нечётный, а нужен чётный — пропускаем
        continue           # переходим к следующему слову
    if w[0] in bad:        # слово начинается с А, С или Т — не подходит
        continue           # переходим к следующему слову
    if w.count('О') != 2:  # буква О должна встречаться ровно 2 раза
        continue           # иначе слово не подходит
    last = i               # слово прошло все фильтры — запоминаем его номер

print(last)                # печатаем номер последнего подходящего слова — это ответ

Правильный ответ этого билета: 5058
Проверка: перебор даёт последнее подходящее слово под номером 5058 (это слово РТООТ). Совпадает с эталоном демоверсии.

Проверка

Типовые ошибки и проверка
  • Путают порядок букв (в условии он не всегда русский алфавит — смотрите начало списка).
  • Нумеруют слова с 0, а нужно с 1.
  • Находят первое подходящее слово вместо последнего.
  • Пропускают фильтр «чётный номер» или запрещённые первые буквы.
  • Проверка: выпишите слова вокруг ответа и убедитесь, что найденное — последнее подходящее.

Режимы

Сейчас открыт режим обучения: теория, разбор и ответ видны. Скоро появится режим проверки — только условие и поле ответа, без подсказок.

Практикум Все задания Режим проверки — скоро

Частые вопросы

Что проверяет задание 8 ЕГЭ по информатике?
Умение перебирать слова в лексикографическом порядке: по списку слов найти номер подходящего слова или посчитать количество слов, удовлетворяющих условию.
Почему список слов — это как числа?
Слова одной длины из алфавита в m букв перебираются в том же порядке, что числа в системе счисления с основанием m. Номер слова равен значению его «числа» плюс один.
С какого номера начинается нумерация?
С единицы. Первое слово списка (все буквы — первые в алфавите) имеет номер 1; это частая ошибка, если нумеровать с нуля.
Как не перепутать первое и последнее подходящее слово?
Идите по списку по порядку и обновляйте ответ каждый раз, когда слово подходит. Для вопроса про номер нужно именно последнее подходящее, а не первое.
Есть ли тренажёр по заданию 8?
Да. Практикум генерирует задачи на перебор слов: находит номер подходящего слова и считает количество слов по фильтрам, с проверкой ответа и разбором.