diff options
| author | Abigail <abigail@abigail.be> | 2021-04-20 20:52:57 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-04-20 20:52:57 +0200 |
| commit | 7b4fbbe6505b63d2faa62ad34939b6e830ea692b (patch) | |
| tree | 971934b1ed31b67a5dbb0b1f83148079e36bc58a /challenge-109 | |
| parent | 490b2215c7eaeb037b7548564306e2081784b3e4 (diff) | |
| download | perlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.tar.gz perlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.tar.bz2 perlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.zip | |
When looping over possible divisors, stop at n / 2.
Diffstat (limited to 'challenge-109')
| -rw-r--r-- | challenge-109/abigail/awk/ch-1.awk | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/bash/ch-1.sh | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/c/ch-1.c | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/lua/ch-1.lua | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/node/ch-1.js | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/perl/ch-1.pl | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/python/ch-1.py | 2 | ||||
| -rw-r--r-- | challenge-109/abigail/ruby/ch-1.rb | 2 |
8 files changed, 8 insertions, 8 deletions
diff --git a/challenge-109/abigail/awk/ch-1.awk b/challenge-109/abigail/awk/ch-1.awk index 6b889ae3a0..203c7f1fec 100644 --- a/challenge-109/abigail/awk/ch-1.awk +++ b/challenge-109/abigail/awk/ch-1.awk @@ -10,7 +10,7 @@ function divisor_sum (n, i) { sum = 0 - for (i = 2; i < n; i ++) { + for (i = 2; i <= n / 2; i ++) { if (n % i == 0) { sum += i } diff --git a/challenge-109/abigail/bash/ch-1.sh b/challenge-109/abigail/bash/ch-1.sh index de09aa6414..752a4f9760 100644 --- a/challenge-109/abigail/bash/ch-1.sh +++ b/challenge-109/abigail/bash/ch-1.sh @@ -16,7 +16,7 @@ function divisor_sum () { local n=$1 sum=0 local i - for ((i = 2; i < n; i ++)) + for ((i = 2; i <= n / 2; i ++)) do if ((n % i == 0)) then ((sum += i)) fi diff --git a/challenge-109/abigail/c/ch-1.c b/challenge-109/abigail/c/ch-1.c index e6716c148a..377caf63f3 100644 --- a/challenge-109/abigail/c/ch-1.c +++ b/challenge-109/abigail/c/ch-1.c @@ -20,7 +20,7 @@ typedef int number; /* Change if we want large numbers */ number divisor_sum (number n) { number sum = 0; - for (number i = 2; i < n; i ++) { + for (number i = 2; i <= n / 2; i ++) { if (!(n % i)) { sum += i; } diff --git a/challenge-109/abigail/lua/ch-1.lua b/challenge-109/abigail/lua/ch-1.lua index 5eb2d477f9..74c3b7d914 100644 --- a/challenge-109/abigail/lua/ch-1.lua +++ b/challenge-109/abigail/lua/ch-1.lua @@ -15,7 +15,7 @@ local COUNT = 20 function divisor_sum (n) local sum = 0 - for i = 2, n - 2 do + for i = 2, n / 2 do if n % i == 0 then sum = sum + i end diff --git a/challenge-109/abigail/node/ch-1.js b/challenge-109/abigail/node/ch-1.js index d7cff7b0f5..0f75cf4962 100644 --- a/challenge-109/abigail/node/ch-1.js +++ b/challenge-109/abigail/node/ch-1.js @@ -15,7 +15,7 @@ let COUNT = 20 function divisor_sum (n) { let sum = 0 - for (let i = 2; i < n; i ++) { + for (let i = 2; i <= Math . floor (n / 2); i ++) { if (n % i == 0) { sum += i } diff --git a/challenge-109/abigail/perl/ch-1.pl b/challenge-109/abigail/perl/ch-1.pl index 64f21d5d24..967a0344de 100644 --- a/challenge-109/abigail/perl/ch-1.pl +++ b/challenge-109/abigail/perl/ch-1.pl @@ -47,5 +47,5 @@ elsif ($type == $TYPE_COMPUTE) { # calculate the first 20 numbers, we don't have to care about # efficiency. # - say map {my $n = $_; sum0 grep {!($n % $_)} 2 .. $_ - 1} 1 .. $COUNT; + say map {my $n = $_; sum0 grep {!($n % $_)} 2 .. $_ / 2} 1 .. $COUNT; } 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) diff --git a/challenge-109/abigail/ruby/ch-1.rb b/challenge-109/abigail/ruby/ch-1.rb index 95a38a69cb..0c73c368dd 100644 --- a/challenge-109/abigail/ruby/ch-1.rb +++ b/challenge-109/abigail/ruby/ch-1.rb @@ -15,7 +15,7 @@ COUNT = 20 def divisor_sum (n) sum = 0 - for i in 2 .. n - 1 + for i in 2 .. n / 2 if n % i == 0 then sum += i end |
