From 3cd567f3863f0ae1b48f9c54e52635dd4aa8cc29 Mon Sep 17 00:00:00 2001 From: steven-y-e Date: Tue, 1 Aug 2023 11:29:42 -0400 Subject: [PATCH] feat(solution): problem #21 --- solutions/021/amicablenumbers.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 solutions/021/amicablenumbers.py diff --git a/solutions/021/amicablenumbers.py b/solutions/021/amicablenumbers.py new file mode 100644 index 0000000..9902477 --- /dev/null +++ b/solutions/021/amicablenumbers.py @@ -0,0 +1,26 @@ +def sum_divisors(n): + factors = [] + for i in range(1, n): + if n % i == 0: + factors.append(i) + factorSum = 0 + for i in factors: + factorSum += i + return factorSum + +limit = 10000 +amicablePairs = [] +amicableSum = 0 + +for i in range(limit): + if (i in amicablePairs) == False: + sum = sum_divisors(i) + pairCheck = sum_divisors(sum) + if pairCheck == i and sum != i: + amicablePairs.append(i) + amicablePairs.append(sum) + +for i in amicablePairs: + amicableSum += i + +print("The sum of all the amicable numbers under " + str(limit) + " is: " + str(amicableSum))