From 610ff9605ec7b308051a8f04f9b21d6f4060a8cd Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 19 Apr 2021 20:16:47 +0200 Subject: Solutions in 29 languages for week 109, part 1. --- challenge-109/abigail/python/ch-1.py | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 challenge-109/abigail/python/ch-1.py (limited to 'challenge-109/abigail/python/ch-1.py') diff --git a/challenge-109/abigail/python/ch-1.py b/challenge-109/abigail/python/ch-1.py new file mode 100644 index 0000000000..6600bda6d5 --- /dev/null +++ b/challenge-109/abigail/python/ch-1.py @@ -0,0 +1,39 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as: python ch-1.py [plain | compute] +# + +import sys + +COUNT = 20 +PLAIN = 0 +COMPUTE = 1 + +def divisor_sum (n): + sum = 0 + for i in range (2, n): + if n % i == 0: + sum = sum + i + return (sum) + +type = PLAIN + +if len (sys . argv) > 1 and sys . argv [1] == "compute": + type = COMPUTE + + +if type == PLAIN: + print ("0, 0, 0, 2, 0, 5, 0, 6, 3, 7, 0, 15, 0, 9, 8, 14, 0, 20, 0, 21") + + +if type == COMPUTE: + for n in range (1, COUNT + 1): + if n > 1: + print (", ", end = '') + print (divisor_sum (n), end = '') + print ("") -- cgit From 7b4fbbe6505b63d2faa62ad34939b6e830ea692b Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 20 Apr 2021 20:52:57 +0200 Subject: When looping over possible divisors, stop at n / 2. --- challenge-109/abigail/python/ch-1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'challenge-109/abigail/python/ch-1.py') diff --git a/challenge-109/abigail/python/ch-1.py b/challenge-109/abigail/python/ch-1.py index 6600bda6d5..f9e51a0897 100644 --- a/challenge-109/abigail/python/ch-1.py +++ b/challenge-109/abigail/python/ch-1.py @@ -16,7 +16,7 @@ COMPUTE = 1 def divisor_sum (n): sum = 0 - for i in range (2, n): + for i in range (2, n / 2 + 1): if n % i == 0: sum = sum + i return (sum) -- cgit