-----------------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

posted @ 2019-07-05 15:32  wuyingying  阅读(491)  评论(0编辑  收藏  举报