aboutsummaryrefslogtreecommitdiff
path: root/challenge-126/stuart-little/lua/ch-1.lua
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-126/stuart-little/lua/ch-1.lua')
-rwxr-xr-xchallenge-126/stuart-little/lua/ch-1.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/challenge-126/stuart-little/lua/ch-1.lua b/challenge-126/stuart-little/lua/ch-1.lua
new file mode 100755
index 0000000000..031196b56e
--- /dev/null
+++ b/challenge-126/stuart-little/lua/ch-1.lua
@@ -0,0 +1,11 @@
+#!/usr/bin/env lua
+
+-- run <script> <number>
+
+function no1(nr)
+ if (nr:len() == 0) then return 0 end
+ if (nr:sub(1,1) == '1') then return 9^(nr:len()-1) end
+ return (tonumber(nr:sub(0,1))-1) * 9^(nr:len()-1) + no1(nr:sub(2))
+end
+
+print((not arg[1]:find('1')) and math.floor(no1(arg[1])) or math.floor(no1(arg[1])-1))