LoginSignup
2
1

More than 5 years have passed since last update.

Scala でフィボナッチ数列のリストを作成してみる

Last updated at Posted at 2017-01-27

Scala をちょっと勉強し始めたので,フィボナッチ数列のリストを作成する関数を作成してみました。
(追記:コメント欄が結構もりあがったので,あわせてご覧ください)
次の関数は引数で与えた数値をこえない数列を作成します。

def fib (l: Int) = {
  var list = List[Int]()
  var a = 0
  var b = 1
  while (b < l) {
    list :+= b
    val c = a
    a = b
    b = c + b
  }
  list
}

REPL でも十分打ち込める量だと思います。
REPL なら次のような感じで実行まで持って行けます。

scala> def fib (l: Int) = {
     |   var list = List[Int]()
     |   var a = 0
     |   var b = 1
     |   while (b < l) {
     |     list :+= b
     |     val c = a
     |     a = b
     |     b = c + b
     |   }
     |   list
     | }
fib: (n: Int)List[Int]

scala> fib (100)
res1: List[Int] = List(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)

余談ですが,仕事では Java や Swift をよく使っているので, Scala を使うことはあまりないのですが,たまに別の言語を触ってみると良い刺激になりますね。

2
1
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1