программа, которая возвращает сумму всех делителей числа. Python
Ответы
Объяснение:
def sum_div(number):
divisors = [1]
for i in range(2, number):
if (number % i)==0:
divisors.append(i)
return sum(divisors)
print(sum_div(8))
print(sum_div(12))
Ответ:
Не совсем правильно дан предыдущий ответ. В нем сума делителей будет БЕЗ самого числа. Т.е любое число делится само на себя, его же тоже нужно считать? 6ю строчку можно удалить (сделал чтобы было наглядно видно что в список записывается).
В range надо перебирать от 1 до number+1 потому что если перебирать до number оно само число number не будет учитывать.
Объяснение:
def sum_div(number):
divisors = []
for i in range(1, number+1):
if (number % i)==0:
divisors.append(i)
print(divisors)
return sum(divisors)
print(sum_div(4))