Sign in to follow this  
Amaz1ng

What is going wrong?

Recommended Posts

Amaz1ng    131
[code]
#include <iostream>
#include <conio.h>

using namespace std;

void main()
{
long sum = 0, next = 0, prev = 1, curr = 2;

do
{
next = curr + prev;
prev = curr;
curr = next;

if(curr % 2 == 0)
{
sum += curr;
}
}
while(curr < 4000000);

cout << sum;

getch();
};
[/code]

Just curious why this is not working. It's from project Euler:

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:

[center]1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...[/center]

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

Share this post


Link to post
Share on other sites
haegarr    7372
What do you mean with "this is not working"? A runtime error? Or just a wrong result?

Regarding to the last possibility I see at least this: The initial value of curr is 2 and hence even, but it is not considered in the summation. Initialize sum with 2 to overcome this issue.

Share this post


Link to post
Share on other sites
powell0    808
The Fibonacci sequence starts with two 1s. So the first ten terms are:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55

*Edit: Never mind. I missed the "sum of even terms" part. Reading comprehension fail. Edited by powell0

Share this post


Link to post
Share on other sites
Amaz1ng    131
[quote name='powell0' timestamp='1307036098' post='4818758']
The Fibonacci sequence starts with two 1s. So the first ten terms are:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55

*Edit: Never mind. I missed the "sum of even terms" part. Reading comprehension fail.
[/quote]

lol actually that worked....the numbers need to initially be set to 1.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this