Задание 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\)