diff options
| author | Abigail <abigail@abigail.be> | 2021-05-11 19:29:08 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-05-11 19:29:08 +0200 |
| commit | d498fd3ea3e1df8c647b83e5e4922e6af971960b (patch) | |
| tree | 819e85b07402a425620c67795fbac4b2619be967 /challenge-112/abigail/node | |
| parent | 6b21ba5c2303a59a3cca7b693ea0a55faf766c95 (diff) | |
| download | perlweeklychallenge-club-d498fd3ea3e1df8c647b83e5e4922e6af971960b.tar.gz perlweeklychallenge-club-d498fd3ea3e1df8c647b83e5e4922e6af971960b.tar.bz2 perlweeklychallenge-club-d498fd3ea3e1df8c647b83e5e4922e6af971960b.zip | |
Use closed form to calculate Fibonacci numbers for week 112, part 2.
Diffstat (limited to 'challenge-112/abigail/node')
| -rw-r--r-- | challenge-112/abigail/node/ch-2.js | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/challenge-112/abigail/node/ch-2.js b/challenge-112/abigail/node/ch-2.js index aa80e0970d..2c06c8fdcd 100644 --- a/challenge-112/abigail/node/ch-2.js +++ b/challenge-112/abigail/node/ch-2.js @@ -8,13 +8,11 @@ // Run as: node ch-2.js < input-file // -let cache = {0: 1, 1: 1} - -function fib (n) { - cache [n] = cache [n] || fib (n - 1) + fib (n - 2) - return cache [n] -} +let SQRT5 = Math . sqrt (5) +let PHI = (1 + SQRT5) / 2 require ('readline') . createInterface ({input: process . stdin}) -. on ('line', _ => console . log (fib (+ _))) +. on ('line', _ => console . log ( + Math . round (Math . pow (PHI, +_ + 1) / SQRT5) +)) |
