給一個正整數num,返回小於或等於num的斐波納契奇數之和

給一個正整數num,返回小於或等於num的斐波納契奇數之和。

斐波納契數列中的前幾個數字是 1、1、2、3、5 和 8,隨後的每一個數字都是前兩個數字之和。
提示:此題不能用遞歸來實現斐波納契數列。因爲當num較大時,內存會溢出。

function sumFibs(num) {
   var a=0,b=0,c=1,sum=0;
    for(var i=0;c<=num;i++){
     sum+=(c%2==1?c:0);
      a=b;
      b=c;
      c=a+b;
   }
    return sum;
}

sumFibs(4);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章