奥礼网
新记
C++编程 求累乘方法 1*2*3*...*n n由自己输入 用递归方法 急求
如题所述
举报该文章
相关建议 2012-06-26
int fac(int n){
return (n == 1 ? 1 : n*fac(n-1));
}
void main(){
printf("%d", fac(5)); // 输出5的阶乘
}
基本即使这样.
不过阶乘数字都非常的大, int类型基本上乘到20结果就会大到溢出.
如果要求很高的话则需要额外的处理, 还是比较麻烦
温馨提示:内容为网友见解,仅供参考
当前网址:
https://aolonic.com/aa/nnknd1na1.html
其他看法
第1个回答 2012-06-26
用递归求数据量量小的可以,大的不行啊,建议你参考菲波拉起数列的作法
第2个回答 推荐于2018-05-06
实用的
阶乘
算法是挺复杂的,因为ULONGLONG也放不下,要用数组进行保存,这才是重点,具体你可以参考1000的阶乘,百度有源代码
本回答被网友采纳
相似回答
大家正在搜
相关问题
用C语言编程:用递归的方法求 f(n) = 1*1 + 2*...
c++如何用递推法求n!(不是递归法)
C++编程 1的平方+2的平方 累加到n的平方 用递归调用方...
用缩减法技术设计求T=a0*........*an的累乘求积...
c++,写一函数用递归方法求:1+1/2+1/3+1/4+1...
用递归算法,求1+2+3+······+n,n由键盘输入。 ...
在主程序中提示输入整数n,编写函数用递归的方法求1+2+……...
C语言如何用递归算法求1!+2!+3!+...n!