2011年6月3日金曜日

フィボナッチ数の偶数番目の項の合計値を求める。

Project Euler Problem1 の問題を読み間違えてしまった・・・
もったいないのでメモ



Scalaでフィボナッチ数の偶数番目の項の合計値を求める。
※ほんとは偶数の項の合計を求める・・・o(´д`)o




object euler_2 {
  def main(args : Array[String]) : Unit = 
  {
 println(fibonacciNew(4000000))


 println(fibonacciNew(4000000).sum)
  }
  def fibonacciNew(max:Int):List[Int] = addNextNext(List(2),1,max)
  /**
   * リストに一個飛ばしでフィボナッチ数を追加する。
   */
    def addNextNext(lst : List[Int],before :Int,max :Int) :List[Int] = 
    if((lst.last * 2 + before) < max) {addNextNext(lst :+ (lst.last * 2 + before),lst.last + before ,max)} 
    else {lst}
    
}

0 件のコメント:

コメントを投稿