我想从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