Scala 遞歸函數(shù)

Scala 函數(shù) Scala 函數(shù)

遞歸函數(shù)在函數(shù)式編程的語(yǔ)言中起著重要的作用。

Scala 同樣支持遞歸函數(shù)。

遞歸函數(shù)意味著函數(shù)可以調(diào)用它本身。

以上實(shí)例使用遞歸函數(shù)來(lái)計(jì)算階乘:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + " 的階乘為: = " + factorial(i) )
   }
   
   def factorial(n: BigInt): BigInt = {  
      if (n <= 1)
         1  
      else    
      n * factorial(n - 1)
   }
}

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala
$ scala Test
1 的階乘為: = 1
2 的階乘為: = 2
3 的階乘為: = 6
4 的階乘為: = 24
5 的階乘為: = 120
6 的階乘為: = 720
7 的階乘為: = 5040
8 的階乘為: = 40320
9 的階乘為: = 362880
10 的階乘為: = 3628800

Scala 函數(shù) Scala 函數(shù)