这是在斐波纳契系列中找到偶数之和的正确方法。我在使用小范围时得到正确答案。在使用长整数时使用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);
}
}
答案 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);
}
}