diff options
| author | Abigail <abigail@abigail.be> | 2021-01-28 13:01:50 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-01-28 13:01:50 +0100 |
| commit | 62ad2b057e0439e47759711b6fc7dfcffcecf348 (patch) | |
| tree | e0152c085ee823cbc905ce6e13a29eb27a99d8cd /challenge-003/abigail/node | |
| parent | 50255b3d3d1cc4a5fdd4e57be0b369a8ec003f79 (diff) | |
| download | perlweeklychallenge-club-62ad2b057e0439e47759711b6fc7dfcffcecf348.tar.gz perlweeklychallenge-club-62ad2b057e0439e47759711b6fc7dfcffcecf348.tar.bz2 perlweeklychallenge-club-62ad2b057e0439e47759711b6fc7dfcffcecf348.zip | |
Node.js solution for week 3, part 2
Diffstat (limited to 'challenge-003/abigail/node')
| -rw-r--r-- | challenge-003/abigail/node/ch-2.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-003/abigail/node/ch-2.js b/challenge-003/abigail/node/ch-2.js new file mode 100644 index 0000000000..ab629fcb86 --- /dev/null +++ b/challenge-003/abigail/node/ch-2.js @@ -0,0 +1,43 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-1.js < input-file +// + +require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', _ => triangle (+_)) +; + + +function triangle (rows) { + // + // Create and print the 0th row + // + let row = [1] + process . stdout . write ("1\n") + for (let r = 1; r <= rows; r ++) { + // + // Calculate a new row + // + let new_row = [] + for (i = 0; i <= r; i ++) { + new_row [i] = (i == 0 ? 0 : row [i - 1]) + + (i == r ? 0 : row [i]); + if (i > 0) { + process . stdout . write (" ") + } + process . stdout . write ("" + new_row [i]) + } + process . stdout . write ("\n") + + // + // New row becomes current row + // + row = new_row + } +} |
