aboutsummaryrefslogtreecommitdiff
path: root/challenge-003/abigail/ruby
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-01-28 14:20:58 +0100
committerAbigail <abigail@abigail.be>2021-01-28 14:20:58 +0100
commita862be74650ba8d71dfbe4412b15278c7fde6b65 (patch)
tree194658178e3bf71a653e429cbb66e422a5ac7c0b /challenge-003/abigail/ruby
parent677cf089ed01cde533368b8dffcc244c8e38670f (diff)
downloadperlweeklychallenge-club-a862be74650ba8d71dfbe4412b15278c7fde6b65.tar.gz
perlweeklychallenge-club-a862be74650ba8d71dfbe4412b15278c7fde6b65.tar.bz2
perlweeklychallenge-club-a862be74650ba8d71dfbe4412b15278c7fde6b65.zip
Ruby solution for week 3, part 2
Diffstat (limited to 'challenge-003/abigail/ruby')
-rw-r--r--challenge-003/abigail/ruby/ch-2.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-003/abigail/ruby/ch-2.rb b/challenge-003/abigail/ruby/ch-2.rb
new file mode 100644
index 0000000000..05eaacc889
--- /dev/null
+++ b/challenge-003/abigail/ruby/ch-2.rb
@@ -0,0 +1,39 @@
+#!/usr/bin/ruby
+
+#
+# See ../README.md
+#
+
+#
+# Run as: ruby ch-1.rb < input-file
+#
+
+ARGF . each_line do |_|
+ rows = _ . to_i
+
+ #
+ # 0-th row
+ #
+ row = [1]
+ puts row [0]
+ for r in 1 .. rows do
+ #
+ # Create new row
+ #
+ new = []
+ for i in 0 .. r do
+ new [i] = (i == 0 ? 0 : row [i - 1]) +
+ (i == r ? 0 : row [i])
+ if i > 0
+ then print " "
+ end
+ print new [i]
+ end
+ puts ""
+
+ #
+ # New row becomes current row
+ #
+ row = new
+ end
+end