Решение
🔹 Шаг 1. Считываем числа из файла
f = open("17.txt")
nums = [int(x) for x in f]
📌 Что происходит:
Теперь
nums — это вся числовая последовательность.
🔹 Шаг 2. Находим максимальный элемент по условию
max_43 = max(x for x in nums if 1000 <= abs(x) <= 9999 and abs(x) % 100 == 43)
📌 Что происходит: ищем максимальный элемент последовательности с заданным окончанием десятичной записи (по модулю).
🔹 Шаг 3. Подготавливаем переменные для подсчёта
count = 0
max_sq = 0
📌 Что означает:
count — количество подходящих пар (или троек);
max_sum / max_sq — лучший найденный результат (сумма или квадрат суммы), пока неизвестен.
🔹 Шаг 4. Проверяем пары соседних элементов
for i in range(len(nums) - 1):
a, b = nums[i], nums[i + 1]
if 1000 <= abs(a) <= 9999 or 1000 <= abs(b) <= 9999:
s = a + b
if s ** 2 < max_43 ** 2:
count += 1
if s ** 2 > max_sq:
max_sq = s ** 2
📌 Что происходит: перебираем соседние пары (nums[i], nums[i+1]), проверяем условие и обновляем count и максимальную сумму (или квадрат суммы).
🔹 Шаг 5. Выводим ответ
print(count, max_sq)
📌 Что выводим: сначала количество найденных пар (или троек), затем второе число из ответа по условию (для этого варианта: 1218 98843364).