aboutsummaryrefslogtreecommitdiff
path: root/challenge-137/abigail/lua
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-01 20:43:32 +0100
committerAbigail <abigail@abigail.be>2021-11-01 20:43:32 +0100
commit774aa553d53dccf2c51f3ce6da319c45c7b398c1 (patch)
treefb0b9366043db0c923e5dbcbd7a3bb7edd249434 /challenge-137/abigail/lua
parentdd6a1bfa4793a4da537a79ccbd70acf43141509a (diff)
downloadperlweeklychallenge-club-774aa553d53dccf2c51f3ce6da319c45c7b398c1.tar.gz
perlweeklychallenge-club-774aa553d53dccf2c51f3ce6da319c45c7b398c1.tar.bz2
perlweeklychallenge-club-774aa553d53dccf2c51f3ce6da319c45c7b398c1.zip
Lua solutions for week 137
Diffstat (limited to 'challenge-137/abigail/lua')
-rw-r--r--challenge-137/abigail/lua/ch-1.lua38
-rw-r--r--challenge-137/abigail/lua/ch-2.lua34
2 files changed, 72 insertions, 0 deletions
diff --git a/challenge-137/abigail/lua/ch-1.lua b/challenge-137/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..152dca12ca
--- /dev/null
+++ b/challenge-137/abigail/lua/ch-1.lua
@@ -0,0 +1,38 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua < input-file
+--
+
+local start_years = {1600, 2000}
+local long_year_offsets = {
+ 4, 9, 15, 20, 26,
+ 32, 37, 43, 48, 54,
+ 60, 65, 71, 76, 82,
+ 88, 93, 99,
+ 105, 111, 116, 122,
+ 128, 133, 139, 144, 150,
+ 156, 161, 167, 172, 178,
+ 184, 189, 195,
+ 201, 207, 212, 218,
+ 224, 229, 235, 240, 246,
+ 252, 257, 263, 268, 274,
+ 280, 285, 291, 296,
+ 303, 308, 314,
+ 320, 325, 331, 336, 342,
+ 348, 353, 359, 364, 370,
+ 376, 381, 387, 392, 398
+}
+
+for i = 1, #start_years do
+ for j = 1, #long_year_offsets do
+ local year = start_years [i] + long_year_offsets [j]
+ if 1900 <= year and year <= 2100 then
+ print (year)
+ end
+ end
+end
diff --git a/challenge-137/abigail/lua/ch-2.lua b/challenge-137/abigail/lua/ch-2.lua
new file mode 100644
index 0000000000..1cfb4f84e9
--- /dev/null
+++ b/challenge-137/abigail/lua/ch-2.lua
@@ -0,0 +1,34 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-2.lua < input-file
+--
+
+function reverse (num)
+ local rev = 0
+ while num > 0 do
+ rev = rev * 10
+ rev = rev + (num % 10)
+ num = math . floor (num / 10)
+ end
+ return (rev)
+end
+
+
+function ly (n)
+ if n >= 10000000
+ then return (1)
+ elseif n == reverse (n)
+ then return (0)
+ else return (ly (n + reverse (n)))
+ end
+end
+
+
+for number in io . lines () do
+ print (ly (tonumber (number)))
+end