Задание 17. Информатика. Статград 2023-2-2

Просмотры: 113
Изменено: 23 ноября 2024

Файл содержит последовательность целых чисел, по модулю не превышающих \(10~000\). Назовём парой два идущих подряд элемента последовательности. Определите количество таких пар, в которых запись меньшего элемента заканчивается цифрой \(3\), а сумма квадратов элементов пары меньше, чем квадрат наименьшего из элементов последовательности, запись которых заканчивается цифрой \(3\). В ответе запишите два числа: сначала количество найденных пар, затем максимальную сумму квадратов элементов таких пар.

Файл с данными

Решение:

Python


nums = [int(x) for x in open('17.txt')]
min_sq_3 = min(filter(lambda x: abs(x) % 10 == 3, nums)) ** 2
fin_arr = [(x[0], x[1]) for x in zip(nums, nums[1:]) if abs(min(x)) % 10 == 3 and x[0]**2 + x[1]**2 < min_sq_3]
max_sq_sum = max([x[0]**2 + x[1]**2 for x in fin_arr])
print(len(fin_arr), max_sq_sum)

Ответ: \(355\)    \(99033293\)