aboutsummaryrefslogtreecommitdiff
path: root/challenge-003/paulo-custodio/lua/ch-2.lua
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-003/paulo-custodio/lua/ch-2.lua')
-rw-r--r--challenge-003/paulo-custodio/lua/ch-2.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-003/paulo-custodio/lua/ch-2.lua b/challenge-003/paulo-custodio/lua/ch-2.lua
new file mode 100644
index 0000000000..d8c661014c
--- /dev/null
+++ b/challenge-003/paulo-custodio/lua/ch-2.lua
@@ -0,0 +1,30 @@
+#!/usr/bin/env lua
+
+--[[
+Challenge 003
+
+Challenge #2
+Create a script that generates Pascal Triangle. Accept number of rows from
+the command line. The Pascal Triangle should have at least 3 rows. For more
+information about Pascal Triangle, check this wikipedia page.
+--]]
+
+function draw_pascal(rows)
+ data = {1}
+ for row=1,rows do
+ -- print current row
+ for col=1,rows-row do io.write(" "); end
+ for col=1,row do io.write(data[col], " "); end
+ io.write("\n")
+
+ -- compute next row
+ nxt = {1}
+ for col=1,row-1 do
+ table.insert(nxt, data[col] + data[col+1])
+ end
+ table.insert(nxt, 1)
+ data = nxt
+ end
+end
+
+draw_pascal(tonumber(arg[1]))