求解问题呀

来源:5-7 递归函数(一)

慕丝6464244

2018-06-14 10:10

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

是不是factorial就代表阶乘函数

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


写回答 关注

2回答

  • 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的阶乘么。望采纳

    天然的纯指挥 回复慕莱坞228...

    不好意思,“直到当n=1时,进入else if(n==0 || n==1)的执行代码块结束跳出循环”这句话错了,正确解释在上面回复啦

    2018-08-19 16:44:06

    共 6 条回复 >

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

    请教一下

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

    天然的纯指挥

    假设n=5,那么最后执行的一步就是result=1*2*3*4*5;执行后跳出if,执行return result;

    2018-08-19 16:39:39

    共 4 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926212 学习 · 20797 问题

查看课程

相似问题

求解求解呀

回答 1

求解呀

回答 2

求解呀

回答 1

求解呀

回答 2