diff options
| -rwxr-xr-x | challenge-122/stuart-little/lua/ch-1.lua | 15 | ||||
| -rwxr-xr-x | challenge-122/stuart-little/lua/ch-2.lua | 26 |
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 |
