任意输入两个正整数m和n,求m!+n!的值。c语言怎么写

2025-03-10 21:27:09
推荐回答(1个)
回答1:

考虑Int最大存储到16的阶乘, 再大就会导致数据溢出. 所以可以用double来存放阶乘的结果. 楼上:古风的程序,fun函数定义成double,却又定义了int的y来存储阶乘结果... 无语.. #include __int64 fun(int a) { if(a<=1) return 1; else return a*fun(a-1); } int main() { __int64 sum=0; int m,n; scanf("%d%d",&m,&n); sum=fun(m)+fun(n); printf("结果为:%I64d\n",sum); return 0; }