From dcea822a1dc486e6b37613e57c3660dffe0af2a9 Mon Sep 17 00:00:00 2001 From: Linus Miller Date: Thu, 29 Mar 2018 13:50:00 +0200 Subject: [PATCH] Move sum_proper_divisors into util --- 0021.py | 9 ++------- util.py | 5 +++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/0021.py b/0021.py index 1c1e86e..84c2516 100644 --- a/0021.py +++ b/0021.py @@ -5,19 +5,14 @@ import util target = 31626 -def sum_proper_divisors (nbr): - proper_divisors = util.divisors(nbr)[0:-1] - - return reduce(lambda x, y: x + y, proper_divisors) - r = 10000 amicable_numbers = [] for i in range(1, r + 1): - s = sum_proper_divisors(i) + s = util.sum_proper_divisors(i) - if (s != i and sum_proper_divisors(s) == i): + if (s != i and util.sum_proper_divisors(s) == i): amicable_numbers.append(i) diff --git a/util.py b/util.py index 43c68da..cc22845 100644 --- a/util.py +++ b/util.py @@ -1,6 +1,11 @@ from collections import Counter from functools import reduce +def sum_proper_divisors (nbr): + proper_divisors = divisors(nbr)[0:-1] + + return reduce(lambda x, y: x + y, proper_divisors) + def divisors(num): result = [] def recurse(tuples, product = 1):