Файл содержит последовательность натуральных чисел, не превышающих 20 000. Назовём парой два идущих подряд элемента последовательности.
Определите количество пар, для которых выполняются следующие условия:
— ровно одно число в паре четырёхзначное;
— сумма квадратов элементов пары без остатка делится на наименьшее в последовательности трёхзначное число, запись которого заканчивается
В ответе запишите два числа: сначала количество найденных пар, затем максимальную из сумм квадратов элементов таких пар.
Ответ:
Приведём решение на языке Python.
f = open('17.txt')
s = [int(i) for i in f]
count = 0
maxi = 0
tritri = 20001
for i in range(len(s)):
if str(s[i])[-1] =='3':
if 99 < abs(s[i]) <1000:
tritri = min (tritri, s[i])
for i in range(len(s)-1):
if ((999 < abs(s[i]) <10000) and not(999 < abs(s[i+1]) <10000)) or (not(999 < abs(s[i]) <10000) and (999 < abs(s[i+1]) <10000)):
if (s[i] ** 2 + s[i+1] ** 2) % tritri == 0:
count += 1
maxi = max (maxi, s[i] ** 2 + s[i+1] ** 2)
print(count, maxi)
В результате работы данного алгоритма при вводе данных из файла ответ — 74 433966217.
Ответ: 74 433966217.

