aboutsummaryrefslogtreecommitdiff
path: root/challenge-114
diff options
context:
space:
mode:
authorDave Jacoby <jacoby.david@gmail.com>2021-07-12 10:48:31 -0400
committerDave Jacoby <jacoby.david@gmail.com>2021-07-12 10:48:31 -0400
commit34a6514808c066bee4e7f3d7d8bdeb67db056392 (patch)
tree05d0e268045ef3d6f971ec0e0c3eb1a48bdb7edd /challenge-114
parentb59f8f4008bb8ec491a9e89f097f04ce54aed4c0 (diff)
parent1aa7b6eaba2a58fc1ef0612373e3aed6b61f345d (diff)
downloadperlweeklychallenge-club-34a6514808c066bee4e7f3d7d8bdeb67db056392.tar.gz
perlweeklychallenge-club-34a6514808c066bee4e7f3d7d8bdeb67db056392.tar.bz2
perlweeklychallenge-club-34a6514808c066bee4e7f3d7d8bdeb67db056392.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-114')
-rwxr-xr-xchallenge-114/stuart-little/lua/ch-1.lua16
-rwxr-xr-xchallenge-114/stuart-little/lua/ch-2.lua13
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-114/stuart-little/lua/ch-1.lua b/challenge-114/stuart-little/lua/ch-1.lua
new file mode 100755
index 0000000000..f507160ecd
--- /dev/null
+++ b/challenge-114/stuart-little/lua/ch-1.lua
@@ -0,0 +1,16 @@
+#!/usr/bin/env lua
+
+-- run <script> <number>
+
+function reflect(st,bt)
+ return (bt==1) and (st .. st:sub(1,st:len()-1):reverse()) or (st .. st:reverse())
+end
+
+if arg[1]:match("^9+$") then
+ print(1 .. ("0"):rep(arg[1]:len()-1) .. 1)
+ os.exit()
+end
+
+l = arg[1]:len()
+hlf1 = arg[1]:sub(1,math.ceil(l/2))
+print((reflect(hlf1,l%2) > arg[1]) and reflect(hlf1,l%2) or reflect(("%d"):format(hlf1+1),l%2))
diff --git a/challenge-114/stuart-little/lua/ch-2.lua b/challenge-114/stuart-little/lua/ch-2.lua
new file mode 100755
index 0000000000..ebafcb5d9e
--- /dev/null
+++ b/challenge-114/stuart-little/lua/ch-2.lua
@@ -0,0 +1,13 @@
+#!/usr/bin/env lua
+
+-- run <script> <number>
+
+inpt = arg[1]
+t={[0]=0,[1]=0}
+
+while (inpt & 3 ~= 1) do
+ t[inpt%2] = t[inpt%2] + 1
+ inpt = inpt >> 1
+end
+
+print(("%d"):format((inpt+1)*2^(t[0]+t[1]) + 2^(t[1])-1))