-
-
Save emmanuelnwogbo/362ec69a9251e73aee26f4b614441fd8 to your computer and use it in GitHub Desktop.
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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: | |
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. | |
*/ | |
function sumEvenFibonacciNumbers(){ | |
//create an acumulator and an array for fibonacci | |
// start with 1 and 2 | |
var fibonacciNumbersCollection = [1,2], sumOfEvenFibonaccis = 2, sumOfTotalFibonaccis = 3, limit = 4000000; | |
// loop while the value doesn't exceed four million | |
while( fibonacciNumbersCollection[fibonacciNumbersCollection.length - 1] < limit ){ | |
// push the new fibonacci | |
var newSize = fibonacciNumbersCollection.length; | |
var sumOfLastTwo = fibonacciNumbersCollection[newSize - 2] | |
+ fibonacciNumbersCollection[newSize - 1]; | |
fibonacciNumbersCollection.push(sumOfLastTwo); | |
// accumulate the even valued and all | |
sumOfTotalFibonaccis += sumOfLastTwo; | |
if( sumOfLastTwo % 2 === 0 ){ sumOfEvenFibonaccis += sumOfLastTwo; } | |
console.log(fibonacciNumbersCollection); | |
} | |
return sumOfEvenFibonaccis; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment