sme*_*loa 2 javascript math sum fibonacci
因此,我正在尝试开发一个公式,将所有奇数斐波纳契数加到并包括给定数.
例如:
目前这是我的代码:
function sumFibs(num) {
var sum = 0;
for(i=0,j=1,k=0; k<=num;i=j,j=x,k++) {
x = i + j;
if (x%2 !== 0) {
sum +=x;
if (sum >= sum) {
break;
}
}
}
return sum;
}
sumFibs(4);
Run Code Online (Sandbox Code Playgroud)
显然代码不起作用.如果我删除(if sum> = sum)break语句,它会创建一个无限循环.我已经从另一个帖子中获取了for循环,其中给出了一个公式来创建一个Fibonacci序列,但是我在生成该数字之后要做什么有困难,我该如何添加它.我尝试这样做的方法是检查模数是否不为0(表示它是一个奇数).
谢谢你的帮助.
您的代码与变量名称和声明有点混淆(总是尝试使用var声明).这是一个能够满足您需求的功能
function sumFibs(num) {
var fib0 = 0;
var fib1 = 1;
var fib = 1;
var sum = fib0;
while ( fib <= num){
if (fib % 2) {
sum += fib1;
}
fib = fib0 + fib1;
fib1 += fib0;
fib0 = fib1 - fib0;
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)