Skip to content

Instantly share code, notes, and snippets.

@onlyshk
Created May 12, 2012 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save onlyshk/2667001 to your computer and use it in GitHub Desktop.
Save onlyshk/2667001 to your computer and use it in GitHub Desktop.
package Problem2
import scala.collection.mutable.Seq
/*
* 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.
*/
/*
*
* Usage:
* >> println(Problem2.Problem2.solve())
* 4613732
*
*/
object Problem2 {
lazy val f: Stream[Int] =
0 #:: 1 #:: f.zip(f.tail).map(p => p._1 + p._2)
/*
* Problem solve
*/
def solve() : Long = {
return f.view.takeWhile(_ <= 4000000).filter(_ % 2 == 0).sum
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment