Adopted new convention from template

This commit is contained in:
David Doblas Jiménez 2022-09-28 19:21:58 +02:00
parent d671105d79
commit 22ad3dab01

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python3 #!/usr/bin/env python
""" """
Created on 15 Sep 2018 Created on 15 Sep 2018
@ -11,24 +11,27 @@ https://projecteuler.net/problem=21
from utils import timeit from utils import timeit
def sum_divisors(n): 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") @timeit("Problem 21")
def compute(): 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). 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 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. 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, 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 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are
1, 2, 4, 71 and 142; so d(284) = 220. 1, 2, 4, 71 and 142; so d(284) = 220.
Evaluate the sum of all the amicable numbers under 10000. Evaluate the sum of all the amicable numbers under 10000.
""" """
n = 10000
n = 10_000
sum_amicable = 0 sum_amicable = 0
for i in range(1, n): for i in range(1, n):
value = sum_divisors(i) value = sum_divisors(i)
@ -38,5 +41,4 @@ def compute():
if __name__ == "__main__": if __name__ == "__main__":
print(f"Result for Problem 21 is {compute()}")
print(f"Result for Problem 21: {compute()}")