-----------------scala中的递归阶乘----------------------

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数

递归的三个条件:
边界条件
递归前进段
递归返回段
当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
 

scala> def calculate(x:Int):Int={

     | if(x==1)

     | x

     | else

     | return x*calculate(x-1)

     | }

calculate: (x: Int)Int

scala> calculate(4)

res8: Int = 24

===> calculate(4)
===> 4 * calculate(3)
===> 4 * (3 * calculate(2))
===> 4 * (3 * (2* calculate(1)))
===> 4 * (3 * (2 * (1 * 1)))
===> 4 * (3* (2 * 1))
===> 4 * (3 * 2)
===> 4 * 6
===> 24

原文地址:https://www.cnblogs.com/helloaugust/p/11138637.html