Пусть M (N) – сумма двух наибольших различных натуральных делителей натурального числа N, не считая самого числа. Если у числа N меньше двух таких делителей, то M (N) считается равным 0.
Найдите 5 наименьших натуральных чисел, превышающих 12 000 000, для которых 0 < M (N) < 10 000.
В ответе запишите найденные значения M (N) в порядке возрастания соответствующих им чисел N.
informatikaexpert.ru
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
k = 0 for x in range(12_000_001, 13_000_001): D = set() for d in range(2, int(x**0.5)+1): if x%d==0: D.add(d) D.add(x//d) R = sorted(D)[-2:] if len(R)==2: if sum(R)<10000: print(sum(R)) k+=1 if k==5: break |
Ответ: 9280
7172
8616
7460
7542