根据"Fibonacci序列"找到答案

use*_*871 0 java math arraylist fibonacci

请查看以下代码

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我试图从Project Euler 解决这个问题,无论如何这是问题所在.

Fibonacci序列中的每个新术语都是通过添加前两个术语生成的.从1和2开始,前10个术语将是:

1,2,3,5,8,13,21,34,55,89 ......

通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和.

这就是我得到的答案 - 257112;

它说答案是错的.我不知道为什么会这样.为了您的信息,我的母语不是英语,我也没有用英语做数学.所以我怀疑我是否误解了这个问题.

请帮我找到解决这个问题的正确方法.谢谢

Mar*_*ers 7

通过考虑Fibonacci序列中的值,其值不超过四百万......

一个问题在这里:

if(thirdNumber>=400000)
Run Code Online (Sandbox Code Playgroud)

那不是四百万.你还需要一个零.