练习

18 阅读1分钟

计算斐波那契数列(fib(n) = fib(n-1) + fib(n-2)fib(0)=0fib(1)=1

scala

def fibonacci(n: Int): Int = {
  if (n == 0) 0          // 终止条件1
  else if (n == 1) 1     // 终止条件2
  else fibonacci(n - 1) + fibonacci(n - 2)  // 递归步骤
}

// 调用
fibonacci(6)  // 结果:8(序列:0,1,1,2,3,5,8)

整数的阶乘

def factorial(n: Int): Int = {  

  if (n == 0) {  

    1 // 起始条件  

  } else {  

    n * factorial(n - 1) // 递归规则  

  }  

}