← Все вопросы
Как посчитать сумму всех делителей числа?
4
Нужна не сама проверка, а сумма всех делителей числа. Например, у 6 делители 1, 2, 3, 6, сумма = 12. Как собрать такую сумму в коде?
1 ответ
9
✓ Принятый ответ — помог автору
Перебираем все числа от 1 до n, и если делится без остатка — добавляем к накопителю:
n = 6
total = 0
for i in range(1, n + 1):
if n % i == 0:
total += i
print(total) # 12
Коротко то же самое через sum с условием в генераторе:
print(sum(i for i in range(1, n + 1) if n % i == 0)) # 12
Кстати, если сумма делителей без самого числа равна самому числу — оно называется совершенным (как 6: 1+2+3=6).
Ваш ответ
, чтобы ответить на вопрос.