Обработка целочисленной информации: поиск пар в файле
Задание 17 · Билет 2 · ЕГЭ по информатике
Условие
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от −100000 до 100000 включительно. Определите количество пар последовательности, в которых сумма элементов меньше минимального положительного элемента последовательности, кратного 123. Гарантируется, что такой элемент в последовательности есть.
Скачивать не обязательно: если решаете на сайте, данные уже есть в программе. Скачайте, только чтобы посмотреть файл отдельно на компьютере.
Попробуйте программой
Необязательно, но удобно: напишите здесь свой код на Python, который найдёт ответ. Если не получится — откройте решение и вставьте готовую программу одной кнопкой.
Решите программой на Python
в браузереНапишите свой код, который найдёт ответ, и нажмите «Выполнить». Горячая клавиша запуска: Ctrl/⌘ + Enter.
Файл задачи уже в песочнице: 1_17.txt — читайте через open('1_17.txt').
Потренируйся обрабатывать числа: напиши программу, найди пары по условию и посчитай их количество и сумму.
Решение
Решение
открыто шагов: 4 из 4Программа, которая находит ответ:
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)) # количество и модуль максимума Теория и другие билеты
Разбор с нуля, типовые ошибки, частые вопросы и все билеты задания 17 — на странице задания.