Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function fib (n, cache) {
- cache = cache || {};
- if(n >= -1 && n <= 1) return BigInt(n);
- let a, b;
- if(n > 0) {
- a = cache[n-1] ? cache[n-1] : cache[n-1] = fib(n-1, cache);
- b = cache[n-2] ? cache[n-2] : cache[n-2] = fib(n-2, cache);
- } else {
- a = cache[n+1] ? cache[n+1] : cache[n+1] = fib(n+1, cache);
- b = cache[n+2] ? cache[n+2] : cache[n+2] = fib(n+2, cache);
- }
- return BigInt(a + b);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement