Пусть M(N) — сумма 2 наибольших различных натуральных делителей натурального числа N, не считая самого числа и единицы. Если у числа N меньше 2 таких делителей, то M(N) считается равным 0.
Найдите все такие числа N, что а десятичная
запись числа M(N) заканчивается на 1002.
В ответе перечислите все найденные числа N в порядке возрастания.
Количество строк в таблице для ответа избыточно.
Ответ:
Приведём решение на языке Python.
def F(n):
deliteli = set()
for i in range(2, int(n**0.5)+1):
if n%i == 0:
deliteli|={i, n//i}
return sorted(deliteli)
for n in range(110_250_000, 110_300_000 + 1):
deliteli = F(n)
if len(deliteli) >= 2:
M = deliteli[-1] + deliteli[-2]
if M % 10000 == 1002:
print(n)
В результате работы программа должна вывести следующее:
110254175
110271687
110275397
110281336

