scala递归实现1:尾递归
def fib(n: Int): Int = {
@annotation.tailrec
def loop(n: Int, prev: Int, cur: Int): Int =
if (n == 0) prev
else loop(n - 1, cur, prev + cur)
loop(n, 0, 1)
}
scala递归实现2
def fibonacci( n: Int): Int = n match {
case 0 => 0
case 1 => 1
case _ => fibonacci(n -1) + fibonacci(n - 2)
}
http://www.cnblogs.com/Anker/archive/2013/03/04/2943498.html
https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2