Source

euler / csharp / e2.cs

/*
Each new term in the Fibonacci sequence is generated by adding the previous two
terms. By starting with 1 and 2, the first 10 terms will be:

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

By considering the terms in the Fibonacci sequence whose values do not exceed
four million, find the sum of the even-valued terms.

Answer: 4613732
*/
using System;
using System.Collections;

class e2 {

    static IEnumerable fibs() {
        int a = 1;
        int b = 2;

        while (true) {
            yield return a;
            int tmp = a;
            a = b;
            b += tmp;
        }
    }
    
    public static void Main() {
        int sum = 0;

        foreach (int i in fibs()) {
            if (i > 4000000) {
                break;
            }
            if ((i % 2) == 0) {
                sum += i;
            }
        }

        Console.WriteLine(sum);
    }
}