Задача к ЕГЭ по информатике на тему «прочие прототипы» №2

Найдите все натуральные числа, N, принадлежащие отрезку [250 000 000; 700 000 000], которые можно представить в виде N  = 2m ∗ 5n  , где 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
Оцените статью
Я решу все!