最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))

 更新時間:2020年09月09日 09:40:04   作者:一只菜鳥攻城獅啊  
這篇文章主要介紹了JS實現(xiàn)斐波那契數(shù)列的五種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

下面是五種實現(xiàn)斐波那契數(shù)列的方法

循環(huán)

function fibonacci(n){
 var res1 = 1;
 var res2 = 1;
 var sum = res2;
 for(var i = 1;i < n;i ++){
   sum = res1 + res2;
   res1 = res2;
   res2 = sum;
 }
 return sum;
}

普通遞歸

function fibonacci (n) {
 if ( n <= 1 ) {return 1};
 return fibonacci(n - 1) + fibonacci(n - 2);
}

尾遞歸

function fibonacci(n, ac1=1,ac2=1){
  if(n<=1){return ac2}
 return fibonacci(n-1, ac2, ac1 + ac2)
}
Generator 函數(shù)和for...of循環(huán)
// Generator 函數(shù)和for...of循環(huán)
function* fibonacci() {
 let [prev, curr] = [0, 1];
  // foo(;;)相當于死循環(huán) 等于while(1)
 for (;;) {
  yield curr;
  [prev, curr] = [curr, prev + curr];
 }
}
for (let n of fibonacci()) {
 if (n > 1000) break;
 console.log(n);
}

閉包實現(xiàn)

const fibonacci = function(){
  var mem = [0,1];
  var f = function(n){
    var res = mem[n];
    if(typeof res !== 'number'){
      mem[n] = f(n-1) + f(n-2);
      res = mem[n];
    }
    return res;
  }
  return f;
}();

到此這篇關(guān)于JS實現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))的文章就介紹到這了,更多相關(guān)JS 斐波那契數(shù)列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

云南省| 麦盖提县| 金寨县| 汝阳县| 台中县| 娱乐| 遂昌县| 惠安县| 乌鲁木齐县| 惠东县| 东港市| 盐山县| 磐安县| 古交市| 庆云县| 玛纳斯县| 新民市| 文化| 莱阳市| 蓝田县| 颍上县| 新安县| 衢州市| 广灵县| 察隅县| 沙雅县| 伽师县| 确山县| 台前县| 乐清市| 曲沃县| 津南区| 徐水县| 冕宁县| 涟水县| 达拉特旗| 道孚县| 石狮市| 阿荣旗| 新泰市| 西盟|