前两种一样,都是我自己写的,最后一个是别人写的,都能实现需求
(1)
function sumFibs(num) {
var i = 2, fibo = [1, 1]; odd = 2;
while (i < num + 1) {
if (i % 2 == 1) {
odd += i;
}
fibo[2] = i;
i += fibo[1];
fibo[1] = fibo[2];
}
return odd;
}
(2)
function sumFibs(num) {
var i = 1, o1 = 0, o2 = 0; odd = 0;
while (i < num + 1) {
if (i % 2 == 1) {
odd += i;
}
o2 = i;
i += o1;
o1 = o2;
}
console.log(odd)
return num;
}
(3)
function sumFibs(num) {
var fibo = [1, 1];
var nums = 2;
var temp = 0;
while(true){
temp = fibo[0] + fibo[1];
if(temp > num){
return nums;
}
if(temp % 2 !== 0){
nums += temp;
}
fibo[0] = fibo[1];
fibo[1] = temp;
}
}