Skip to content

Instantly share code, notes, and snippets.

@vasco3
Created September 16, 2013 07:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vasco3/6577469 to your computer and use it in GitHub Desktop.
Save vasco3/6577469 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.
/*
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