給一個正整數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);