在这道题目中,我们需要写一个函数,参数为一个正整数num。它的作用是计算斐波那契数列中,小于或等于num的奇数之和。
斐波那契数列中,第一和第二个数字都是 1,后面的每个数字由之前两数相加得出。斐波那契数列的前六个数字分别为:1、1、2、3、5、8。
比如,sumFibs(10)应该返回10。因为斐波那契数列中,比10小的数字只有 1、1、3、5。
function sumFibs(n) {
var arr = [1,1];
var n1 = 1,sum;
for(var n2 = 1; n2 <= n; n2+n1) {
sum = n1 + n2;
n1 = n2;
n2 = sum;
arr.push(n2);
}
arr.pop();
const num = arr.filter(item => {
if(item % 2 !== 0) {
return item;
}
}).reduce((pre , item) => pre + item, 0);
console.log(num);
return num;
}
sumFibs(75024);