js斐波那契详解

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

这个数列从第3项开始,每一项都等于前两项之和。


var cache = [];

          function fib(n){
            	//console.log(cache)
              //1.从cache中获取数据
              if(cache[n] !== undefined){
                  //如果缓存中有 直接返回
                  return cache[n];
              }
              //如果缓存中没有 就计算
              if(n <= 2){
              	//console.log(n)
                  //把计算结果存入数组
                  cache[n] = 1;
                  return 1;
              }
              var temp = fib(n - 1) + fib(n - 2);
              
              //把计算结果存入数组
              cache[n] = temp;
              //console.log(cache)
              return temp;
          }

          console.log(fib(6));

猜你喜欢

转载自blog.csdn.net/qq_34410710/article/details/80894669