【问题标题】:Euler project #2欧拉项目#2
【发布时间】:2017-07-20 08:10:36
【问题描述】:
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 作为答案,我检查了我的代码很多次。

【问题讨论】:

  • 您遇到什么问题...?
  • @MehrajMalik 我得到的答案是错误的

标签: java


【解决方案1】:

这段代码存在问题:

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]
}

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多