Задачи Python: вычислить сумму всех полюбившихся чисел под заданным числом

Проблемы Python — 1: Упражнение 46 с решением

Напишите программу Python для вычисления суммы всех дружественных чисел под заданным числом.

Из Википедии — Дружественные числа — это два разных числа, связанных между собой так, что сумма собственных делителей каждого из них равна другому числу. (Собственный делитель числа — это положительный множитель этого числа, кроме самого числа. Например, правильные делители числа 6 — это 1, 2 и 3.)
Наименьшая пара дружественных чисел — ( 220, 284). Они дружественны, потому что правильные делители 220 равны 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 и 110, из которых сумма составляет 284; а правильными делителями 284 являются 1, 2, 4, 71 и 142, из которых сумма составляет 220.

Пример решения :

Код Python:

  def amicable_sum (num): divisor_sum = [0] * numfor i in range (1, len  (divisor_sum)): для j в диапазоне (i * 2, len (divisor_sum), i): divisor_sum [j] + = i # Найти все дружественные пары result = 0 для i в диапазоне (1, len (divisor_sum)): j  = divisor_sum [i] if j! = i и j  

Пример вывода:

 50431626 

Блок-схема:

Код Python Редактор:

Оцените статью
nanomode.ru
Добавить комментарий