私は2番目のオイラー問題を解決しようとしています(400万未満の偶数フィボナッチ数の合計を計算します)。これまでのところ、これを思いつきました:
public class CCTrial1 {
public static void fib(){
long a = 0, b = 1;
long c = 0, sum = 0;
int i = 1;
long even = 0;
while(i < 400000){
c = a + b;
sum = c;
a = b;
b = c;
if(sum %2 == 0){
even += sum;
}
i++;
}
System.out.println("Count " +i);
System.out.println("Last Fib no " +sum);
System.out.println("Sum " +even);
}
public static void main (String[] args){
fib();
}
}
long に変更しましたが、まだオーバーフローが発生します。どこが間違っているのか教えてください。