在这道题目中,我们需要写一个函数,参数为一个正整数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);