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/lua | |
| 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/lua')
| -rw-r--r-- | challenge-112/abigail/lua/ch-2.lua | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/challenge-112/abigail/lua/ch-2.lua b/challenge-112/abigail/lua/ch-2.lua index db76016a8e..8932952bbd 100644 --- a/challenge-112/abigail/lua/ch-2.lua +++ b/challenge-112/abigail/lua/ch-2.lua @@ -5,20 +5,12 @@ -- -- --- Run as: lua ch-1.lua < input-file +-- Run as: lua ch-2.lua < input-file -- -local cache = {} -cache [0] = 1 -cache [1] = 1 - -function fib (n) - if cache [n] == nil - then cache [n] = fib (n - 1) + fib (n - 2) - end - return cache [n] -end +local SQRT5 = math . sqrt (5) +local PHI = (1 + SQRT5) / 2 for line in io . lines () do - print (fib (tonumber (line))) + print (math . floor (0.5 + PHI ^ (tonumber (line) + 1) / SQRT5)) end |
