aboutsummaryrefslogtreecommitdiff
path: root/challenge-119/stuart-little/lua/ch-2.lua
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-119/stuart-little/lua/ch-2.lua')
-rwxr-xr-xchallenge-119/stuart-little/lua/ch-2.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/challenge-119/stuart-little/lua/ch-2.lua b/challenge-119/stuart-little/lua/ch-2.lua
new file mode 100755
index 0000000000..c10111e775
--- /dev/null
+++ b/challenge-119/stuart-little/lua/ch-2.lua
@@ -0,0 +1,18 @@
+#!/usr/bin/env lua
+
+-- run <script> <number>
+
+function nxt(s)
+ a,b=string.match(s:reverse(),"(3*)(.*)")
+ pre,threes=b:reverse(),a
+ if pre:len() ~= 0 then
+ return math.floor(pre+1) .. string.sub(string.rep("12",threes:len()),1,threes:len())
+ end
+ return string.sub(string.rep("12",s:len()),1,s:len()+1)
+end
+
+out="0"
+for i=1,arg[1] do
+ out=nxt(out)
+end
+print(out)