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

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

object Test3{
	def main(a: Array[String]){
	 	for (i <-1 to 15)
		println(i+"=>"+fab(i))
	}

	def fab( n:BigInt ): BigInt = {
		if (n <=1)
			1
		else
			n * 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
递归函数最关键的地方是设置好出口,就是什么时间结束递归,否则会立即陷入死循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值