(М. Шагитов) В файле содержится последовательность целых чисел. Элементы последовательности - четырёхзначные натуральные числа. Назовём два различных четырёхзначных числа хорошей парой, если их среднее арифметическое (полусумма) и среднее геометрическое (квадратный корень из произведения) — натуральные числа. Найдите все тройки элементов последовательности, в которых есть хотя бы одна хорошая пара, а сумма всех чисел тройки меньше максимальной суммы двух различных элементов последовательности. В ответе запишите количество найденных троек, затем минимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
from math import isqrt
nums = [int(x) for x in open('5204.txt')]
q, ms = 0, float('inf')
tmp = sorted(list(set(nums)))
max_sum = tmp[-1] + tmp[-2]
def is_good(a, b):
s = a + b
p = a * b
return s % 2 == 0 and isqrt(p) ** 2 == p
for a, b, c in zip(nums, nums[1:], nums[2:]):
if any(is_good(x, y) for x, y in ((a, b), (a, c), (b, c))) \
and a + b + c < max_sum:
q += 1
ms = min(ms, a + b + c)
print(q, ms)
Ответ: \(3151 \,\, 3850\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене