aboutsummaryrefslogtreecommitdiff
path: root/challenge-149/abigail/lua/ch-1.lua
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-01-25 21:26:16 +0000
committerGitHub <noreply@github.com>2022-01-25 21:26:16 +0000
commitaa1198b22c0d5bbbfc41b638390fcbdb8cacab26 (patch)
tree1f6e662a4405cabae39336aa258120895c038f1b /challenge-149/abigail/lua/ch-1.lua
parent0a207042e17d673b78681b6c0865fe0cf91f9412 (diff)
parentf6f8fa27a551ad1171389cc9ca8b5c9a0e39e025 (diff)
downloadperlweeklychallenge-club-aa1198b22c0d5bbbfc41b638390fcbdb8cacab26.tar.gz
perlweeklychallenge-club-aa1198b22c0d5bbbfc41b638390fcbdb8cacab26.tar.bz2
perlweeklychallenge-club-aa1198b22c0d5bbbfc41b638390fcbdb8cacab26.zip
Merge pull request #5567 from Abigail/abigail/week-149
Abigail/week 149
Diffstat (limited to 'challenge-149/abigail/lua/ch-1.lua')
-rw-r--r--challenge-149/abigail/lua/ch-1.lua49
1 files changed, 49 insertions, 0 deletions
diff --git a/challenge-149/abigail/lua/ch-1.lua b/challenge-149/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..ce9ef0ddb6
--- /dev/null
+++ b/challenge-149/abigail/lua/ch-1.lua
@@ -0,0 +1,49 @@
+#!/opt/local/bin/lua
+
+--
+-- See https://theweeklychallenge.org/blog/perl-weekly-challenge-149
+--
+
+--
+-- Run as: lua ch-2.lua < input-file
+--
+
+function digit_sum (number)
+ local sum = 0
+ while number > 0 do
+ sum = sum + number % 10
+ number = math . floor (number / 10)
+ end
+ return (sum)
+end
+
+fib = {}
+fib_prev = 0
+fib_last = 1
+fib [fib_prev] = 1
+fib [fib_last] = 1
+
+function is_fib (n)
+ while fib_last < n do
+ local t = fib_last
+ fib_last = fib_last + fib_prev
+ fib_prev = t
+ fib [fib_last] = 1
+ end
+
+ return fib [n]
+end
+
+
+for n in io . lines () do
+ n = tonumber (n)
+ k = 0
+ while n > 0 do
+ if is_fib (digit_sum (k)) then
+ io . write (k .. " ")
+ n = n - 1
+ end
+ k = k + 1
+ end
+ print ("")
+end