Информатика, вопрос задал zokirovnazar566 , 7 лет назад

программа, которая возвращает сумму всех делителей числа. Python

Ответы на вопрос

Ответил swxs
0

Объяснение:

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))

Ответил valeron9814
1

Ответ:

Не совсем правильно дан предыдущий ответ. В нем сума делителей будет БЕЗ самого числа. Т.е любое число делится само на себя, его же тоже нужно считать? 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))

Новые вопросы