Задание 17. Информатика. 2023-3
- Просмотры: 151
- Изменено: 24 ноября 2024
В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от \(1\) до \(100~000\) включительно. Определите количество троек последовательности, в которых только одно число оканчивается на \(0\), а сумма чисел тройки меньше максимального элемента последовательности. В ответе запишите количество найденных троек, затем максимальную из сумм квадратов элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
file_descriptor = open('17var03.txt')
num_array = [int(x) for x in file_descriptor.readlines()]
max_num = max(num_array)
trinity_count = 0
max_sum_trinity = 0
for trinity in zip(num_array[:-2], num_array[1:-1], num_array[2:]):
rem = sorted([x % 10 for x in trinity])
if not rem[0] and rem[1] and sum(trinity) < max_num:
trinity_count += 1
max_sum_trinity = max(max_sum_trinity, sum(trinity))
print(trinity_count, max_sum_trinity)
Ответ: \(203 \,\, 99820\)