Задача к ЕГЭ по информатике на тему «обработка числовой последовательности» №4

В файле содержится последовательность целых чисел. Элементы последовательности — неповторяющиеся натуральные числа, принимающие значения до 100000  включительно.

Рассматриваются тройки вида a = b+ c  , где b,c  являются полными квадратами (элементы в тройке могут располагаться как угодно). Элементами тройки являются различные числа, которые находятся хотя бы на расстоянии 10 друг от друга.

Найдите количество троек, подходящих под условие задачи и максимальное значение a  среди данных троек.

f = open(’17.txt’)
a = [int(i) for i in f]
cnt = 0
mx = -10 ** 10
for i in range(len(a)):
    for j in range(i + 10, len(a)):
        for k in range(j + 10, len(a)):
            nums = sorted([a[i], a[j], a[k]])
            if nums[0] ** 0.5 == int(nums[0] ** 0.5) 
                    and nums[1] ** 0.5 == int(nums[1] ** 0.5):
                if nums[0] + nums[1] == nums[2]:
                    cnt += 1
                    mx = max(mx, nums[2])
print(cnt, mx)

Ответ: 2 8545
Оцените статью
Я решу все!