Ne peut pas tout à fait obtenir de Projet Euler problème #2 compris

Je suis en train d'apprendre les bases du C++ en passant par certaines Projet Euler problèmes. Je l'ai fait à...#2.

Chaque nouveau terme dans le Fibonacci
la séquence est générée par l'ajout de l'
cours des deux termes. En commençant par 1
et 2, les 10 premiers termes seront:

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

Trouver la somme de toutes la même valeur
termes dans la séquence qui ne sont pas
plus de quatre millions de dollars.

Ma logique:

0, 1, 1, 2, 3, 5
x  y  z
   x  y  z
      x  y  z
         x  y  z

Le dessus est en parcourant ce:

x + y = z
x = y
y = z

Mon code:

#include <iostream.h>

using namespace std;

int main()
{
    int x = 0;
    int y = 1;
    int z;
    int sum;

    for(y = 1; y <= 4000000; y++) {

          z = x + y;
          x = y;
          y = z;
            if(y % 2 == 0) {
                 sum += y;
                 }
            }
    cout << sum;
    cin.get();
}

Que les sorties 4613788
La réponse correcte, cependant, est 4613732.

Je ne sais pas quel est le problème. =/.

OriginalL'auteur Andrew | 2009-11-30