1、简单示例
object Test {
/**
* 斐波那契数列
*
* @param n
* @return
*/
def fib(n: Int): Int = {
if (n < 1) throw new IllegalArgumentException("n的值必须大于等于1")
if (n == 1 || n == 2) 1
else {
// 缓存的方式实现斐波那契
val list = scala.collection.mutable.ListBuffer[Int](1)
for (i <- 1 to (n + 1)) {
list.append(i)
}
for (i <- 2 to (n + 1)) {
list(i) = list(i - 2) + list(i - 1)
}
list(n.toInt - 1)
}
}
/**
* 递归求和(1+...+n)
*
* @param n
* @return
*/
def addRecursive(n: BigInt): BigInt = {
if (n <= 1) n else n + addRecursive(n - 1)
}
/**
* 递归求最大值
*
* @param list
* @return
*/
def maxRecursive(list: List[Int]): Int = {