diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-05 20:35:32 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-05 20:35:32 +0100 |
| commit | ada8b466f3fe8efcf3b85f22495c744517df42ca (patch) | |
| tree | 1dc6439469d465851a7c36e9ebc75c5f99600307 /challenge-003/abigail/node/ch-1.js | |
| parent | f98a27d3409f2cfd1fdcf283e9453847520869b9 (diff) | |
| download | perlweeklychallenge-club-ada8b466f3fe8efcf3b85f22495c744517df42ca.tar.gz perlweeklychallenge-club-ada8b466f3fe8efcf3b85f22495c744517df42ca.tar.bz2 perlweeklychallenge-club-ada8b466f3fe8efcf3b85f22495c744517df42ca.zip | |
Week 3: copied solutions from week 123.
Week 123 has exactly the same challenge. Since I prefer that solution,
I copied those results. Tests adjusted accordingly.
Diffstat (limited to 'challenge-003/abigail/node/ch-1.js')
| -rw-r--r-- | challenge-003/abigail/node/ch-1.js | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/challenge-003/abigail/node/ch-1.js b/challenge-003/abigail/node/ch-1.js index a1ffe969ac..e44318f34c 100644 --- a/challenge-003/abigail/node/ch-1.js +++ b/challenge-003/abigail/node/ch-1.js @@ -1,21 +1,30 @@ #!/usr/local/bin/node // -// See ../README.md +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-003 // // // Run as: node ch-1.js < input-file // -require ('readline') +let ugly = [1] +let next_2 = 0 +let next_3 = 0 +let next_5 = 0 + + require ('readline') . createInterface ({input: process . stdin}) -. on ('line', max => { - for (let base2 = 1; base2 <= max; base2 *= 2) { - for (let base3 = base2; base3 <= max; base3 *= 3) { - for (let base5 = base3; base5 <= max; base5 *= 5) { - console . log (base5) - } - } +. on ('line', n => { + n =+ n + while (ugly . length < n) { + ugly . push (Math . min (2 * ugly [next_2], + 3 * ugly [next_3], + 5 * ugly [next_5])) + + if (2 * ugly [next_2] <= ugly [ugly . length - 1]) {next_2 ++} + if (3 * ugly [next_3] <= ugly [ugly . length - 1]) {next_3 ++} + if (5 * ugly [next_5] <= ugly [ugly . length - 1]) {next_5 ++} } -}); + console . log (ugly [n - 1]) +}) |
