Scala 学习笔记(四)------定义递归函数
2017-07-20 15:06
218 查看
递归函数意味着函数可以调用它本身。用递归实现阶乘:
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)
}
}
编译执行
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递归函数最关键的地方是设置好出口,就是什么时间结束递归,否则会立即陷入死循环。
相关文章推荐
- Scala学习笔记(四) - 变量,常量,函数及类的定义
- 第86讲:Scala中For表达式的生成器、定义和过滤器学习笔记
- Scala 学习笔记(五)------定义函数指定默认参数
- Scala学习笔记(四) - 变量,常量,函数及类的定义
- Scala2.11.7学习笔记(二)函数定义
- scala学习笔记(9):Scala函数的定义的几种写法
- Scala学习笔记(1)定义函数及循环
- scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
- Scala 学习笔记(三)------定义具有可变参数的函数
- scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
- Scala 学习笔记(五)------定义偏函数
- Scala学习笔记05【Scala函数定义、流程控制、异常入门】
- Scala 学习笔记(六)------定义高阶函数
- 【Scala学习笔记】2. 函数定义、流程控制、异常处理
- Scala学习笔记(九)----用=>进行方法定义
- Scala 学习笔记(五)------定义匿名函数
- 第60课:使用Java和Scala在IDE中实战RDD和DataFrame动态转换操作学习笔记
- Spring学习笔记 关于Bean定义的重用-使用abstract以及parent标签属性
- Scala学习笔记:eclipse插件安装
- scala学习笔记-类