RosettaCodeData/Task/Fibonacci-sequence/JavaScript/fibonacci-sequence-5.js

8 lines
234 B
JavaScript

var fib = (function(cache){
return cache = cache || {}, function(n){
if (cache[n]) return cache[n];
else return cache[n] = n == 0 ? 0 : n < 0 ? -fib(-n)
: n <= 2 ? 1 : fib(n-2) + fib(n-1);
};
})();