project-euler/0021.py
2018-03-29 13:50:00 +02:00

24 lines
379 B
Python

# amicable pairs
from functools import reduce
import util
target = 31626
r = 10000
amicable_numbers = []
for i in range(1, r + 1):
s = util.sum_proper_divisors(i)
if (s != i and util.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)