问答详情
源自:5-7 递归函数(一)

求解问题呀

为什么result=factorial(n-1)*n  就代表阶乘呢?

是不是factorial就代表阶乘函数

factorial(n-1)*n 相当于!(n-1)*n


提问者:慕丝6464244 2018-06-14 10:10

个回答

  • Daw_Z
    2018-06-14 20:57:46
    已采纳

    这样说吧,就拿例题为例,求5!,在自定义函数中他有一次调用自己,那么就要从函数头开始运行。首先factorial(n-1)*n表示的就是4*5,接着调用自己factorial(n-1),那么factorial(n-1)*n就表示3*4*5,一次类推,2*3*4*5,1*2*3*4*5,0*1*2*3*4*5,-1*0*1*2*3*4*5。。。。。在自定义函数中我们知道当n<0时,return 0,那么n=0或1时,result=1,那么就不存在 0*1*2*3*4*5,-1*0*1*2*3*4*5。。。。。后面陆续的应该时1*1*2*3*4*5,1*1*1*2*3*4*5。。。。你想,这样是不是就可以简单的看成1*2*3*4*5,不就表示5的阶乘么。望采纳

  • 一生客旅
    2018-07-11 15:12:32

    请教一下

    那程序 result 会不会返回值的时候,不会返回成1吗?result之前的值不会被覆盖?