2011年6月3日金曜日

フィボナッチ数の求め方

Scalaでフィボナッチ数を求める

object fibonacci{
  def main(args : Array[String]) : Unit = 
  {
 println(fibonacci(100))
  }
  def fibonacci(max:Int) :List[Int]= {
 addNext(List(1,2),max)
  }
  /**
   * リストにリストの最後から2番目と最後の数値を足した値を返す。
   */
  def addNext(lst : List[Int],max :Int) :List[Int] = 
    if((lst.init.last + lst.last) < max) {addNext(lst :+ (lst.init.last + lst.last),max)} 
    else {lst}
}

0 件のコメント:

コメントを投稿