Пусть M(N) — сумма двух наибольших различных натуральных делителей натурального числа N, не считая самого числа. Если у числа N меньше двух таких делителей, то M(N) считается равным 0.
Найдите 5 наименьших натуральных чисел, превышающих 10000000, для которых M(N) больше 0, но меньше 10000. В ответе запишите найденные значения M(N) в порядке возрастания соответствующих им чисел N.
Добавлено: 12.04.26 12:27
Решение на Python:
from math import isqrt
def M(n):
fr = []
root = isqrt(n)
if root * root == n:
fr.append(root)
for k in range(2, root):
if n % k == 0:
fr.append(k)
fr.append(n//k)
fr = sorted(fr)
if len(fr) < 2:
return 0
return fr[-1] + fr[-2]
k = 0
for n in range(10000000, 100000000):
if 0 < M(n) < 10000:
print(M(n), n)
k += 1
if k == 5:
breakОтвет:
6876
6374
6924
8024
8358Автор - Maxim
None