【发布时间】:2014-08-29 07:36:12
【问题描述】:
我正在做 Euler 项目问题 2,其中的目标是对值小于 400 万的斐波那契数列的偶数求和。我进行了一些搜索,并且看到了几种使用 while 循环的解决方案,但使用 for 循环并不简单。我很好奇为什么我用以下代码返回零:
var array = [];
array[0] = 0;
array[1] = 1;
var total = 0;
for(var i=2;total<=4000000;i++) {
array[i] = array[i-1] + array[i-2];};
for(var x=0;x<array.length;x++){
if(array[x]%2 === 0){
total += array[x]};};
alert(total);
我猜问题出在我的 for 循环中,使用了 total 变量。我也无法使用 array[i]
【问题讨论】:
-
这甚至没有终止。第一个
for()将挂起,因为条件total<=4000000将始终为真。 -
是的,循环不会终止。将第二个 for 循环嵌套在第一个循环中。
标签: javascript for-loop fibonacci