aboutsummaryrefslogtreecommitdiff
path: root/challenge-109/abigail/lua/ch-1.lua
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-04-19 20:16:47 +0200
committerAbigail <abigail@abigail.be>2021-04-19 20:16:47 +0200
commit610ff9605ec7b308051a8f04f9b21d6f4060a8cd (patch)
treeae86dace965f498599adca1cd25fb07a6a0b3c66 /challenge-109/abigail/lua/ch-1.lua
parent75c953a1d50cd707e2afe4dd46888056a71eb501 (diff)
downloadperlweeklychallenge-club-610ff9605ec7b308051a8f04f9b21d6f4060a8cd.tar.gz
perlweeklychallenge-club-610ff9605ec7b308051a8f04f9b21d6f4060a8cd.tar.bz2
perlweeklychallenge-club-610ff9605ec7b308051a8f04f9b21d6f4060a8cd.zip
Solutions in 29 languages for week 109, part 1.
Diffstat (limited to 'challenge-109/abigail/lua/ch-1.lua')
-rw-r--r--challenge-109/abigail/lua/ch-1.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-109/abigail/lua/ch-1.lua b/challenge-109/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..5eb2d477f9
--- /dev/null
+++ b/challenge-109/abigail/lua/ch-1.lua
@@ -0,0 +1,43 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua [plain | compute]
+--
+
+local PLAIN = 0
+local COMPUTE = 1
+
+local COUNT = 20
+
+function divisor_sum (n)
+ local sum = 0
+ for i = 2, n - 2 do
+ if n % i == 0
+ then sum = sum + i
+ end
+ end
+ return (sum)
+end
+
+local type = PLAIN
+if #arg >= 1 and arg [1] == "compute"
+then type = COMPUTE
+end
+
+if type == PLAIN
+then print ("0, 0, 0, 2, 0, 5, 0, 6, 3, 7, 0, 15, 0, 9, 8, 14, 0, 20, 0, 21")
+end
+
+if type == COMPUTE
+then for n = 1, COUNT do
+ if n > 1
+ then io . write (", ")
+ end
+ io . write (divisor_sum (n))
+ end
+ io . write ("\n")
+end