欧拉计划 #2 Java

Project Euler #2 Java

提示:

斐波那契数列中的每一项都是通过添加前两项生成的。从 1 和 2 开始,前 10 项将是:

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

考虑斐波那契数列中不超过四百万的项,求偶数项的和

我的代码:

public class EvenFibonaccinumbers {

    public static void main(String[] args) {
        long sum = 0;
        for (int i = 1; i < 4000000; i += (i - 1)) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("Sum: " + sum);
    }
}

问题:Eclipse 控制台保持空白

那是因为无限循环...

for (int i = 1; i < 4000000; i += (i - 1)) {
    // first iteration: i = 1
    // (i - 1) = (1 - 1) = 0: therefore i += 0
    // i always = 1
}