Задание 17. Информатика. 2023-4
- Просмотры: 173
- Изменено: 23 ноября 2024
В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от \(1\) до \(100~000\) включительно. Определите количество троек последовательности, в которых ни одно число не оканчивается на \(3\), а сумма квадратов чисел тройки больше максимального элемента последовательности. В ответе запишите количество найденных троек, затем минимальную из сумм квадратов элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
file_descriptor = open('17var04.txt')
num_array = [int(x) for x in file_descriptor.readlines()]
max_num = max(num_array)
trinity_count = 0
min_sum_trinity = float('inf')
for trinity in zip(num_array, num_array[1:], num_array[2:]):
rem = [x % 10 for x in trinity]
if not (3 in rem) and sum(map(lambda x: x**2, trinity)) > max_num:
trinity_count += 1
min_sum_trinity = min(min_sum_trinity,
sum(map(lambda x: x**2, trinity)))
print(trinity_count, min_sum_trinity)
Ответ: \(2936 \,\, 75058186\)