EGEsoll - сборник решений задач из ЕГЭ

Задача 6

Пусть 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

Назад