Найдите все натуральные числа, N, принадлежащие отрезку [250 000 000; 700 000 000], которые можно представить в виде , где m
чётное число, n
чётное число. В ответе запишите все найденные числа в порядке убывания, а справа от каждого числа
сумму всех его нетривиальных делителей. В ответ числа разделять ровно одним пробелом.
def count_del(x): # функция, которая считает сумму нетривиальных делителей
ans = []
for i in range(2, int(x**0.5)+1):
if x % i == 0:
ans += [i]
if i != x // i:
ans += [x//i]
return sum(ans)
ans = []
for i in range(0, 100, 2): # перебор чётных степеней
for j in range(0, 100, 2): # перебор чётных степеней
N = 2**i*5**j
if 250000000 <= N <= 700000000: # если число входит в отрезок
ans.append([N, count_del(N)])
ans = sorted(ans, reverse = True)
for i in range(len(ans)):
print(*ans[i])
Ответ: 655360000 982514930 625000000 925292936 419430400 620756960 400000000 599511206 268435456 268435454 256000000 383972276