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