大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0
50
样例输出
30414093201713378043612608166064768844377641568960512000000000000
以下附上代码:
int a[
17000]=
{0};
int main()
{
int i,j,k,l,n,
m;
scanf(
"%d",&n);
a[
0]=
1;
for(i=
2;i<=n;i++)
{
int c=
0;
for(j=
0;j<
17000;j++)
{
int s=a[j]
*i+c;
a[j]=
s;
c=
s/
10;
}
}
for(j=
17000;j>=
0;j--)
if(a[j])
break;
for(i=j;i>=
0;i--)
printf(
"%d",a[i]);
printf(
"\n");
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1125462.html