diff --git a/0021.py b/0021.py new file mode 100644 index 0000000..1c1e86e --- /dev/null +++ b/0021.py @@ -0,0 +1,28 @@ +# amicable pairs + +from functools import reduce +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) + + if (s != i and sum_proper_divisors(s) == i): + amicable_numbers.append(i) + + +sum_amicables = reduce(lambda x, y: x + y, amicable_numbers) + +print(sum_amicables) +print(sum_amicables == target) +