/** Description of the problem
* 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.
*
**/
#include <iostream>
#include <conio.h>
#include "C:\Users\Zexd\Desktop\mathfunctions.h"
using std::cout;
usingnamespace zs;
int main()
{
int sum = 0, a;
for(unsignedlonglongint i = 0; i <= 4000000; i++)
{
if(!((a = Fibonacci(i)) & 1))
sum += a;
}
cout << sum;
getch();
return 0;
}

zs::Fibonacci

1 2 3 4 5 6 7 8 9 10 11 12

int zs::Fibonacci(unsignedlonglongint n)
{
if(n <= 0) return 0;
int v1 = 1, v2 = 2, help = v2;
for(int i = 2; i < n; i++)
{
v2 = v2 + v1;
v1 = help;
help = v2;
}
return v2;
}