c语言中如何求一个数的阶乘

c语言中如何求一个数的阶乘

long f1(int n)
{
if (1 == n) return 1;

return n * f(n - 1);
}

long f2(int n)
{
int i, a = 1;

for (i = 1; i <= n; i++)
a *= i;

return a;
}

求大数的阶乘,因为要考虑到溢出问题,所以比较复杂|!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-19
用循环写比如15!
unsigned char sum
sum=1;
for(i=1;i<16;i++)
sum=i*sum;
第2个回答  2011-05-19
小的数可以直接用__int64,
大的数的话需要用数组模拟大数.
第3个回答  推荐于2016-01-17
要看你这个数字要有多大,一般来说超过15的阶乘估计你就只能用字符串的方式来计算了.

15是估计的一个数字,不确定.本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网