aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-122/stuart-little/lua/ch-1.lua15
-rwxr-xr-xchallenge-122/stuart-little/lua/ch-2.lua26
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-122/stuart-little/lua/ch-1.lua b/challenge-122/stuart-little/lua/ch-1.lua
new file mode 100755
index 0000000000..11e996d8d5
--- /dev/null
+++ b/challenge-122/stuart-little/lua/ch-1.lua
@@ -0,0 +1,15 @@
+#!/usr/bin/env lua
+
+-- run <script> <space-separated numbers>
+
+function runAvg(t)
+ local avgs={0}
+ for k,v in ipairs(t) do
+ local newAvg = (avgs[#avgs]*(k-1)+tonumber(v))/k
+ table.insert(avgs,newAvg)
+ end
+ table.remove(avgs,1)
+ return avgs
+end
+
+print(table.unpack(runAvg(arg)))
diff --git a/challenge-122/stuart-little/lua/ch-2.lua b/challenge-122/stuart-little/lua/ch-2.lua
new file mode 100755
index 0000000000..f8c760f053
--- /dev/null
+++ b/challenge-122/stuart-little/lua/ch-2.lua
@@ -0,0 +1,26 @@
+#!/usr/bin/env lua
+
+-- run <script> <score>
+
+function comp(nr,bd)
+ local tab={{{},},}
+ for n=1,nr do
+ local item={}
+ for i=1,bd do
+ if (#tab >= i) then
+ for _,v in ipairs(tab[#tab-i+1]) do
+ local vv = table.pack(table.unpack(v))
+ table.insert(vv,1,i)
+ table.insert(item,vv)
+ end
+ end
+ end
+ if (#tab >= bd) then table.remove(tab,1) end
+ table.insert(tab,item)
+ end
+ return tab[#tab]
+end
+
+for _,v in ipairs(comp(tonumber(arg[1]),3)) do
+ print(table.unpack(v))
+end