如果不加判断

如果不加判断

不加判断自己试了一下,报错说超过最大堆栈空间

到1的时候1!然后不是0了么,0还有阶乘吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,从数学角度上讲,不会出现负数的阶乘,0或者负数也没有阶乘。但老师说的不是这个意思,老师是说的计算机本身不知道阶乘是什么?所以会一直计算下去, 也就是说当你传入4,函数中一直调用函数本身,并把传入的数字减去1,如果自己不加判断,num到1的时候返回。下一次调用函数,num减去1为0,也会和前面的数字相乘,  即出现即 4*3*2*1*0*-1*-2*-3......,再重新理解一下哦

http://img1.sycdn.imooc.com//climg/5ed702a90961ccb208850209.jpg

祝学习愉快~

好帮手慕夭夭 2020-06-02 18:12:08

同学你好,0可以继续做乘法的,再到后面-1,-2,-3等等都是可以的哦。虽然到0阶乘结果就是0,但是计算机又不会去判断,结果为0的时候就不阶乘了。因为计算机只负责计算,等计算超出了内存,就会报错。所以需要我们自己判断,再重新理解一下哦。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 宝慕林3013065 #1
    那0的阶乘是什么,-1的阶乘是什么,比如说4的阶乘是4*3*2*1,那负数的呢,我们平时用的上么?
    2020-06-03 09:43:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师