我在做Euler項目問題2,其中的目標是總結價值低於400萬斐波那契序列的偶數。我搜索了一下,我已經看到幾個使用while循環的解決方案,但使用for循環並沒有什麼簡單的。我很好奇爲什麼我回到零與下面的代碼:Javascript歐拉斐波那契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);
我猜測問題是在我的循環使用總變量。我無法使用array [i] < = 4000000來工作,我真的很好奇這裏的原因。任何人都知道這是爲什麼?我可以在for循環條件(第二條語句)中更改哪些內容以獲得正確的總數?
這甚至不終止。第一個for()會掛起,因爲條件total = 4000000將始終爲真。 – pid 2014-08-29 07:39:00
是的,循環沒有終止。將第二個循環嵌入第一個循環中。 – 2014-08-30 09:36:56