diff --git a/src/Python/Problems001-050/Problem021.py b/src/Python/Problems001-050/Problem021.py index 1ea1f43..732d184 100644 --- a/src/Python/Problems001-050/Problem021.py +++ b/src/Python/Problems001-050/Problem021.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python """ Created on 15 Sep 2018 @@ -11,24 +11,27 @@ https://projecteuler.net/problem=21 from utils import timeit + def sum_divisors(n): - return sum(i for i in range(1, n//2+1) if n%i==0) + return sum(i for i in range(1, n // 2 + 1) if n % i == 0) + @timeit("Problem 21") def compute(): """ - Let d(n) be defined as the sum of proper divisors of n (numbers + Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n). If d(a) = b and d(b) = a, where a ≠ b, then a and b are an amicable pair and each of a and b are called amicable numbers. - For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, - 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are + For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, + 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220. Evaluate the sum of all the amicable numbers under 10000. """ - n = 10000 + + n = 10_000 sum_amicable = 0 for i in range(1, n): value = sum_divisors(i) @@ -38,5 +41,4 @@ def compute(): if __name__ == "__main__": - - print(f"Result for Problem 21: {compute()}") \ No newline at end of file + print(f"Result for Problem 21 is {compute()}")