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

Число называется избыточным, если оно строго меньше суммы своих собственных делителей (то есть всех положительных делителей, отличных от самого числа). Определите количество избыточных чисел из диапазона [5; 50000].

ans = 0
for i in range(5, 50000+1):
    dels = [1] # список, в котором будут храниться делители числа, отличные от самого числа
    for j in range(2, int(i**0.5)+1):
        if i % j == 0:
            dels += [j]
            if j != i//j:
                dels += [i//j]
    if sum(dels) > i:
        ans += 1
print(ans)

Ответ: 12394
Оцените статью
Я решу все!