如何求一个较大的数的阶乘啊?有的数的阶乘太大一运行程序得到的结果都错了。
我用递归写了一个,但只能得到小于15的数的阶乘。看书上说要用一个数组来表示太大的结果,还有什么大整数乘法,求教。这个是用递归写的
#include<stdio.h>
long int fn(int a);
void main()
{
int n;
long int sum;
scanf("%d",&n);
sum = fn(n);
printf("%d\n",sum);
}
long int fn(int a)
{
if(a == 1)
{
return 1;
}
else
{
a = a*fn(a-1);
return a;
}
}