Задание 17. Информатика. Фоксфорд 2023-3

Просмотры: 252
Изменено: 25 ноября 2024

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

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

Решение:

Python


nums = [int(x) for x in open('173.txt')]
min_sq = min(filter(lambda x: abs(x) % 10 == 7, nums)) ** 2
nums_end7 = filter(lambda x: (abs(x[0]) % 10 == 7) != (abs(x[1]) % 10 == 7), zip(nums, nums[1:]))
nums_fin = [sum(x)**2 for x in nums_end7 if sum(x)**2 >= min_sq]
print(len(nums_fin), max(nums_fin))

Ответ: \(219\)    \(377447184\)