Решение
🔹 Шаг 1. Считываем числа из файла
f = open("17.txt")
nums = [int(x) for x in f]
📌 Что происходит:
Теперь
nums — это вся числовая последовательность.
🔹 Шаг 2. Проверка: третья с конца цифра — ноль
def third_from_end_is_zero(x):
s = str(abs(x))
return len(s) >= 3 and s[-3] == "0"
📌 Что происходит: вспомогательная функция для проверки условия из текста задачи (удобнее вызывать её в цикле по парам).
🔹 Шаг 3. Считаем количество чётных элементов
even_count = sum(1 for x in nums if x % 2 == 0)
📌 Результат: выполняем шаг алгоритма по условию задачи.
🔹 Шаг 4. Подготавливаем переменные для подсчёта
count = 0
max_sum = None
📌 Что означает:
count — количество подходящих пар (или троек);
max_sum / max_sq — лучший найденный результат (сумма или квадрат суммы), пока неизвестен.
🔹 Шаг 5. Проверяем пары соседних элементов
for i in range(len(nums) - 1):
a, b = nums[i], nums[i + 1]
zero_third = third_from_end_is_zero(a) or third_from_end_is_zero(b)
if zero_third and a * b % even_count == 0:
count += 1
s = a + b
if max_sum is None or s > max_sum:
max_sum = s
📌 Что происходит: перебираем соседние пары (nums[i], nums[i+1]), проверяем условие и обновляем count и максимальную сумму (или квадрат суммы).
🔹 Шаг 6. Выводим ответ
print(count, abs(max_sum))
📌 Что выводим: сначала количество найденных пар (или троек), затем второе число из ответа по условию (для этого варианта: 3 86323).