试图总结斐波纳契序列的偶数。为什么不将所有数字汇总在一起并仅使用最后一个数字?如何将所有偶数相加? 这是我的代码:
function fibonacciSum(){
var i;
var fib = new Array ();
fib[0] = 0;
fib[1] = 1;
for(i=2; i<=10; i++){
fib[i] = fib[i-2] + fib[i-1];
var number = parseInt(fib[i]);
var sum = 0;
if (number % 2 == 0) {
var result = sum += fib[i];
}
}
console.log(result);
}
答案 0 :(得分:3)
var sum = 0;
这是在你的循环中重置每次迭代sum
。它必须在循环之外。
答案 1 :(得分:2)
在您的解决方案中,for循环的每次运行都会重置“sum”与该行:
var sum = 0;
。在循环外设置为0。
function fibonacciSum(){
var i;
var fib = new Array ();
fib[0] = 0;
fib[1] = 1;
var sum = 0;
for(i=2; i<=10; i++){
fib[i] = fib[i-2] + fib[i-1];
var number = parseInt(fib[i]);
if (number % 2 == 0) {
var result = sum += fib[i];
}
}
console.log(result);
}
答案 2 :(得分:2)
你应该在for循环之外声明sum和result。试试这个:
function fibonacciSum(){
var i;
var fib = new Array ();
fib[0] = 0;
fib[1] = 1;
var sum = 0;
var result = 0;
for(i=2; i<=10; i++){
fib[i] = fib[i-2] + fib[i-1];
var number = fib[i];
if (number % 2 == 0) {
result = sum += fib[i];
}
}
console.log(result);
}