В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от \(-100~000\) до \(100~000\) включительно. Определите количество троек элементов последовательности, в которых есть хотя бы одно число, модуль которого – квадрат натурального числа, а сумма элементов тройки не меньше минимального положительного элемента последовательности, десятичная запись которого содержит \(68.\) В ответе запишите количество найденных троек, затем максимальную из сумм таких троек. В данной задаче под тройкой подразумеваются три идущих подряд элемента последовательности.
Решение:
Python
from math import isqrt
nums = [int(x) for x in open('8927.txt')]
m68 = min(x for x in nums if x > 0 and '68' in str(x))
q, max_sum = 0, -float('inf')
for tr in zip(nums, nums[1:], nums[2:]):
if sum(isqrt(abs(x))**2 == abs(x) for x in tr) > 0 and sum(tr) >= m68:
q += 1
max_sum = max(sum(tr), max_sum)
print(q, max_sum)
Ответ: \(138 \,\, 15660\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене