Fibonacci

Trying to do a problem from http://projecteuler.net/problem=2
All my program does is sitting there... No output. What did I do wrong? Thanks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/** 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;
using namespace zs;

int main()
{
    int sum = 0, a;
    for(unsigned long long int 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(unsigned long long int 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;
}
What did I do wrong?
You misread or misinterpreted the question.

By considering the terms in the Fibonacci sequence whose values do not exceed four million

that doesn't mean the same thing as
By considering the first four million terms in the Fibonacci sequence

You misread or misinterpreted the question.


This, thanks.
Last edited on
Topic archived. No new replies allowed.