Вопрос по информатике
Анонимный
3 года назад

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

Ответы 2

Объяснение:

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

1 1 оценка
Премиум статус
Получайте самые быстрые
ответы на свои вопросы
У вас остались
вопросы?
Помоги другим с вопросами
по информатике