Задача из 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;
}