Санёк Просто
Знаток
(335)
3 недели назад
Ну вот вроде как рабочий код который может помочь
import math
def sum_of_three_largest_divisors(N):
divisors = set()
limit = int(math.isqrt(N)) + 1
for i in range(2, limit):
if N % i == 0:
divisors.add(i)
divisors.add(N // i)
divisors.discard(1)
divisors.discard(N)
if len(divisors) < 3:
return 0
else:
return sum(sorted(divisors, reverse=True)[:3])
count = 0
N = 10000001
results = []
while count < 5:
S_N = sum_of_three_largest_divisors(N)
if str(S_N).count('7') >= 4:
results.append((N, S_N))
count += 1
N += 1
for N_value, S_N_value in results:
print(f"{N_value} {S_N_value}")
Не понимаю как найти сумму трех наибольших нетривиальных делителей n