我想從Project Euler#2編寫練習的算法。這裏是鍛鍊:我的算法中出現了錯誤
「在Fibonacci序列中的每個新項是通過添加 前兩項生成通過與圖1和2開始,第一10個術語將 是:
1, 2,3,5,8,13,21,34,55,89,...
通過考慮斐波納契數列中不是 超過400萬的項,求出偶數值術語「。
這裏是我的算法:
public class FibonacciSum {
public static void main(String[] args) {
int a = 0;
int b = 2;
int sum = a + b;
while (a < 4000000 && b < 4000000){
a += b;
if (a < 4000000){
sum = a + sum;
b += a;
if (b < 4000000){
sum = b + sum;
}
}
}
System.out.println(sum);
}
}
程序計算答案:7049154
但尤拉說,這是錯誤的答案。我嘗試了幾種方法,但沒有成功。 請告訴我,我在哪裏做錯了?
它看起來很像你從0和2開始,而不是1和2。 – doelleri