在Fibonacci系列中找到偶数之和是否正确?

时间:2017-02-20 17:37:48

标签: java

这是在斐波纳契系列中找到偶数之和的正确方法。我在使用小范围时得到正确答案。在使用长整数时使用int和正数时得到负值。

public class t {
    public static void main(String args[]){
      int i1=1,sum;
      int i2 = 2,temp;
      System.out.println(i1);
      System.out.println(i2);
      sum = i2;

      for(int i = 2; i<4000000; i++){
        //System.out.println(i1+i2);
        if( (i1+i2)%2 == 0 ){
           sum = sum+i1+i2;
        }
        temp = i1;
        i1 = i2;
        i2 = temp+i2;
      }

      System.out.println(sum);
  }
}

1 个答案:

答案 0 :(得分:1)

感谢所有的帮助,我提出了错误的问题。答案所需的程序是:

public class fibeven {
    public static void main(String args[]){
        int i1=1;
        int i2 = 2,temp;
    //System.out.println(i1);
    //System.out.println(i2);
        int sum = i2;
        while ((i1+i2)<4000000){
        //System.out.println(i1+i2);
            if((i1+i2)%2==0){
                sum = sum+i1+i2;
            }
            temp = i1;
            i1=i2;
            i2 = temp+i2;
        }
        System.out.println(sum);
    }
}