ex exxam.ru
Задания17 из 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 нужны файлы
17
1 балл демоверсия ЕГЭ-2026 сборник

Обработка целочисленной информации: поиск пар в файле

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

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

Условие

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от −100000 до 100000 включительно. Определите количество пар последовательности, в которых сумма элементов меньше минимального положительного элемента последовательности, кратного 123. Гарантируется, что такой элемент в последовательности есть.

Скачать файл (.txt)

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

Вопрос. В ответе запишите количество найденных пар, затем абсолютное значение максимальной из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

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

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

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

в браузере

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

Файл задачи уже в песочнице: 1_17.txt — читайте через open('1_17.txt').

Результат
Здесь появится вывод print().
Не знаешь, как решать?

Потренируйся обрабатывать числа: напиши программу, найди пары по условию и посчитай их количество и сумму.

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

Решение

Решение

открыто шагов: 4 из 4
1 Шаг 1
Подход. Читаем файл в список чисел, находим минимальный положительный элемент, кратный 123, — это порог. Перебираем соседние пары и оставляем те, у которых сумма строго меньше порога; считаем количество и наибольшую сумму, затем берём её модуль.
2 Шаг 2
Порог: 123 · 8 = 984 — минимальный положительный элемент, кратный 123.
3 Шаг 3
Короткая программа читает файл 1_17.txt (он уже в песочнице), находит порог и перебирает пары с суммой меньше порога. Готовый код — в разделе решения, его можно вставить в песочницу кнопкой.
4 Шаг 4
Перебор даёт count = 5001 и максимум суммы 962, то есть ответ 5001 962.

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

data = [int(x) for x in open('1_17.txt').read().split()]   # читаем файл

m = min(x for x in data if x > 0 and x % 123 == 0)   # минимальный положительный, кратный 123

cnt = 0        # число подходящих пар
mx = None      # максимальная сумма
for x, y in zip(data, data[1:]):   # перебираем соседние пары
    s = x + y
    if s < m:                      # сумма меньше порога
        cnt += 1
        if mx is None or s > mx:
            mx = s
print(cnt, abs(mx))   # количество и модуль максимума

Правильный ответ этого билета: 5001 962
Проверка: независимый пересчёт по прилагаемому файлу открытого варианта: минимальный положительный элемент, кратный 123, равен 984; подходящих пар 5001, максимум суммы по модулю 962.

Теория и другие билеты

Разбор с нуля, типовые ошибки, частые вопросы и все билеты задания 17 — на странице задания.

Задание 17: теория и другие билеты Практикум