为了账号安全,请及时绑定邮箱和手机立即绑定

C++阶乘的问题

C++阶乘的问题

C++
qq_笑_17 2018-07-29 09:00:22
当n小时,结果正确,但是n一大,比如n=13时答案不应该是6227020800,我的是1932093504,我知道此时值应该溢出,所以是这个问题吗?应该怎么改?#include <iostream>using namespace std;int JH(int num){int f;if(num==1)f=1;elsef=JH(num-1)*num;return f;}int main(){int n;cin>>n;cout<<JH(n)<<endl;return 0;}
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

把int改成unsigned int,如果想要更大,就unsigned long long,或者__int64

查看完整回答
反对 回复 2018-09-15
  • 1 回答
  • 0 关注
  • 541 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信