Project Euler : Solution au problème 2, en C

Le problème 1 était un sympathique mise en bouche, voici ma solution au problème 2, en C.

J'y tente même un brin d'optimisation, puisque je ne garde en mémoire que maximum 3 termes de la suite de Fibonacci à un moment donné :)

/* 2008/11/01 - euler2.c
 * Solution au Probleme 2 de Project Euler
 * http://projecteuler.net/index.php?section=problems&id=2
 * Jean Karim Bockstael - jkb@jkbockstael.be
 */

#include <stdio.h>

int euler2(int n) {
    int sum=0;
    int fib1=0;
    int fib2=1;
    int fib3;
    while (fib2<n) {
        if ((fib2%2)==0) {
            sum+=fib2;
            }
        fib3=fib1+fib2;
        fib1=fib2;
        fib2=fib3;
        }
    return sum;
    }

int main(int argc, char** argv) {
    printf("%i\n",euler2(4000000));
    return 0;
    }

cc-by-nc | code (c) | project euler

<<< Project Euler : Solution au problème 3, en C (2008-11-04) | Project Euler: Solution au problème 1, en C (2008-11-02) >>>