Задание 17: Обработка целочисленных данных
Чтение из файла, проход по списку, проверка делимости.
Python
Файлы
Списки
Краткая теория
Для решения задачи 17 обычно используется следующий шаблон:
1. Чтение файла
Используем генератор списков для быстрого чтения:
data = [int(x) for x in open('17.txt')]
2. Проход парами
Используем zip или цикл по индексу:
for i in range(len(data) - 1):
Пара: data[i] и data[i+1]
Разбор решения
Задача: Найти количество пар, сумма которых делится на 3, и максимальную из таких сумм.
1
with open('17.txt') as f:
Безопасное открытие файла (сам закроется)
2
nums = [int(x) for x in f]
Считываем ВСЕ числа в список сразу
4
ans = []
Список для хранения подходящих сумм
5
for i in range(len(nums) - 1):
Цикл до предпоследнего элемента
6
a, b = nums[i], nums[i+1]
Берем текущий элемент и следующий (ПАРУ)
7
if (a + b) % 3 == 0:
Проверяем условие задачи (кратность 3)
8
ans.append(a + b)
Если подошло — запоминаем сумму
10
print(len(ans), max(ans))
Выводим ответ: кол-во и максимум