aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-04-20 20:52:57 +0200
committerAbigail <abigail@abigail.be>2021-04-20 20:52:57 +0200
commit7b4fbbe6505b63d2faa62ad34939b6e830ea692b (patch)
tree971934b1ed31b67a5dbb0b1f83148079e36bc58a
parent490b2215c7eaeb037b7548564306e2081784b3e4 (diff)
downloadperlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.tar.gz
perlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.tar.bz2
perlweeklychallenge-club-7b4fbbe6505b63d2faa62ad34939b6e830ea692b.zip
When looping over possible divisors, stop at n / 2.
-rw-r--r--challenge-109/abigail/awk/ch-1.awk2
-rw-r--r--challenge-109/abigail/bash/ch-1.sh2
-rw-r--r--challenge-109/abigail/c/ch-1.c2
-rw-r--r--challenge-109/abigail/lua/ch-1.lua2
-rw-r--r--challenge-109/abigail/node/ch-1.js2
-rw-r--r--challenge-109/abigail/perl/ch-1.pl2
-rw-r--r--challenge-109/abigail/python/ch-1.py2
-rw-r--r--challenge-109/abigail/ruby/ch-1.rb2
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