繁体   English   中英

欧拉项目#2

[英]Euler project #2

public class Fibonaccisequence {
    public static void main(String args[]){
        int term[] = new int[]{1,2};
        int termValue = term[0]+term[1];
        int sum = 0;
        while(termValue <= 4000000)
        {
            termValue = term[0]+term[1];
            if (term[1]%2==0)
            {sum=sum+term[0];}


            int a= term[1];
            term[1]=termValue;
            term[0]=a;
        }

        System.out.println(sum);
    }
 }

问题详细信息:斐波那契数列中的每个新术语都是通过将前两个术语相加而生成的。 从1和2开始,前10个术语将是:

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

通过考虑斐波那契数列中值不超过四百万的项,找到偶值项的总和

我得到2851443作为答案,并且检查了我的代码很多次。

该代码中存在问题:

if (term[1]%2==0)
{sum=sum+term[0];}

如果检测到term [1]是偶数,则应将其加到总和而不是之前的值上:

if (term[1] % 2 == 0) {
    sum = sum + term[1];  // add term[1], not term[0]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM