Задача из Projekt Euler. Получается не верный ответ, помогите понять почему

#include<iostream>
using namespace std;

/*Рассмотрев члены последовательности Фибоначчи, значения которых 
не превышают четырех миллионов, найдите сумму четных членов.*/

int main()
{
    
    unsigned long long sum=0;
    int a = 1;
    int b = 2;
    int c=0;

    for (int i = 0; i < 4000000; i++)
    {
        
        a = a + b;
        if (a%2==0)
        {
            sum = sum + a;
        }
        
        b = b + a;
        if (b%2==0)
        {
            sum = sum + b;
        }
    }
    cout <<  sum << endl;
}

Ответы (1 шт):

Автор решения: Harry

Вам нужно находить числа Фибоначчи, которые не превышают 4000000, и суммировать их.

Примерно так:

#include<iostream>
using namespace std;

int main()
{
    int sum = 0;
    for(int x = 1, y = 1;;)
    {
        int z = x+y;
        if (z > 4000000) break;
        sum += z;
        x = z + y;
        y = z + x;
    }
    cout << sum << endl;
}
→ Ссылка