Fibonacci

Oct 5, 2013 at 10:10pm
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;
}
Oct 5, 2013 at 10:52pm
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
Oct 6, 2013 at 11:47am

You misread or misinterpreted the question.


This, thanks.
Last edited on Oct 6, 2013 at 11:47am
Topic archived. No new replies allowed.