当前位置: 代码迷 >> 综合 >> Scala 学习笔记(四)------定义递归函数
  详细解决方案

Scala 学习笔记(四)------定义递归函数

热度:30   发布时间:2024-01-17 12:52:02.0

递归函数意味着函数可以调用它本身。用递归实现阶乘:

object Test3{def main(a: Array[String]){for (i <-1 to 15)println(i+"=>"+fab(i))}def fab( n:BigInt ): BigInt = {if (n <=1)1elsen * fab(n-1)}}
编译执行
[root@node1 scala]# scalac Test3.scala
[root@node1 scala]# scala Test3
1=>1
2=>2
3=>6
4=>24
5=>120
6=>720
7=>5040
8=>40320
9=>362880
10=>3628800
11=>39916800
12=>479001600
13=>6227020800
14=>87178291200
15=>1307674368000
递归函数最关键的地方是设置好出口,就是什么时间结束递归,否则会立即陷入死循环。