開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Scala (プログラミング言語)
Learning Scala: Practical Functional Programming for the JVM (Jason Swartz (著)、O'Reilly Media)のPart Ⅰ. (Core Scala)、Chapter 7.(More Collections)、Exercises 1-b.(No. 3180)を解いてみる。
その他参考書籍
Exercises 1-b.(No. 3180)
コード(Emacs)
def fibonacci(x : Int): List[Int] = {
x match {
case 0 => List(0)
case 1 => List(0, 1)
case _ => {
val buffer = List(0, 1).toBuffer
while (buffer.size < x) buffer += buffer.takeRight(2).sum
buffer.toList
}
}
}
def fibonacciAdd(nums: List[Int], count: Int): List[Int] = {
val buffer = nums.toBuffer
for (x <- 1 to count) buffer += buffer.takeRight(2).sum
buffer.toList
}
val nums = fibonacci(5)
println(nums)
val num2 = fibonacciAdd(nums, 15)
println(nums)
println(num2)
入出力結果(Terminal, REPL(Read, Eval, Print, Loop))
$ scala-2.11 sample1_b.scala List(0, 1, 1, 2, 3) List(0, 1, 1, 2, 3) List(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181) $
0 コメント:
コメントを投稿