# Sum All Odd Fibonacci Numbers - I need help to understand where is the mistake

Tell us what’s happening:
Describe your issue in detail here.

Hello fellows Campers,

I’m actually doing the “Sum All Odd Fibonacci Numbers” exercise in the JavaScript course.

I thought my proposition for this exercise would be correct, but it seems there is at least one mistake somewhere in my code. What I don’t understand is why the code runs correctly for all check test, except when num = 4000000 and when num = 75025, it doesn’t return the expected value (4613732 and 135721).

Can somebody tell me where is this mistake, or lead me to where I have to look for it ?
Thank you for your help !

``````  **Your code so far**
``````
``````function sumFibs(num) {

const fiboArr = [1, 1]; // Fibonacci always begin with 1 and 1
let oddArr = []; // Declaring empty array for the odd values
let fiboValue = 0; // This variable will create the Fibonacci suite by summing the two last number and pushing the sum in the fiboArr

let oddValue = 0; // This variable will sum only the odd values from the Fibonacci suite

for (let i = 1; i <= num; i++) {
fiboValue = fiboArr[i] + fiboArr[i - 1]; // Adding the two last numbers in fiboArr together
fiboArr.push(fiboValue); // Pushing the previous sum to the end of fiboArr
oddArr = fiboArr.filter(elem => elem <= i &&  elem % 2 !== 0); // oddArr getting only the odd values that are less than num
oddValue = oddArr.reduce((a, b) => a + b); // oddValue take the value of all oddArr summed together
}
return oddValue;

}

sumFibs(4);
``````
``````  **Your browser information:**
``````

User Agent is: ` Chrome/102.0.0.0 Safari/537.36`

Challenge: Sum All Odd Fibonacci Numbers

You are creating the first `num` Fibbonaci values, not the Fibbonaci values up to and including `num`.

1 Like

I’ve just checked the solutions proposed by FCC, and the second one also declare the two first values of the Fibonacci suite in an array.
I can’t understand why this is causing the code to fail…

Because you are making Fibonacci values that are larger than `num`. When you try to run the failing tests, you should see the error message

Potential infinite loop detected on line 9. Tests may fail if this is not changed.

Computing 4 million Fibonacci values takes a while, and you end up with massive numbers that overflow. You fix this by not computing all the excess values.

1 Like

Ok, I will look and think on how I can do it this way, thank you for your help

EDIT : After spending some time looking for a way to modify my code to solve this exercise, I can’t figure out if it is even possible to complete the challenge with what I wrote, and I can’t figure out how to do it if it can be done.
I am pretty sure this is a way to do it, and I don’t want to just copy the solution proposed by FCC if my code can complete it.

Can somebody give me an advice ?

This type of loop says to repeat the body n (4000000) times. There is another type of loop that repeats the body while a certain condition is true.

1 Like

So, basically, my proposition won’t work, no matter what I do ?
The only thing I can do is to replace the for loop with a while loop ?

I didn’t say your code won’t work. Most of it will work. The only part that won’t is your `for` loop part. You could ‘hack’ the `for` loop to break at the right point, but you’d be turning it into a messy `while` loop that way. Better to just use a `while` loop almost the same body as you currently have.

1 Like

Ok, thank you, I’ll do it with a `while` loop so