请看下面的代码
package Euler;
import java.util.ArrayList;
import java.util.List;
public class Problem2
{
public static void main(String[]args)
{
int firstNumber=1;
int secondNumber=2;
int thirdNumber = 0;
int sum = 0;
List array = new ArrayList();
while(true)
{
if(thirdNumber>=400000)
{
break;
}
else
{
thirdNumber = firstNumber+secondNumber;
System.out.println(thirdNumber);
if(thirdNumber%2==0)
{
array.add(thirdNumber);
}
firstNumber = secondNumber;
secondNumber = thirdNumber;
}
}
for( int i=0;i<array.size();i++)
{
int num = Integer.parseInt(array.get(i).toString());
sum = sum+num;
}
System.out.println("The Sum is: "+sum);
}
}
在这里,我试图从 Project Euler 解决这个问题,无论如何,这就是问题所在。
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
这就是我得到的答案——257112;
它说答案是错误的。我不知道为什么会这样。供您参考,我的母语不是英语,我也没有用英语做数学。所以我怀疑我是否误解了这个问题。
请帮助我找到解决此问题的正确方法。谢谢