</pre><pre name="code" class="cpp">#include<stdio.h>
#include<string.h>
#define MAX 10000
int a[MAX];
int main()
{
int i,j,n;
memset(a,0,sizeof(a));
scanf("%d",&n);
a[0]=1;
for(i=2;i<=n;i++)
{
int c=0;
for(j=0;j<MAX;j++)//数组的每一位都与i相乘
{
int s=a[j]*i+c;
a[j]=s%10;//取个位
c=s/10;//大于9就进位
}
}
for(j=MAX-1;j>=0;j--) if(a[j]) break;//忽略前导0
for(i=j;i>=0;i--) printf("%d",a[i]);
printf("\n");
return 0;
}
大数阶乘
最新推荐文章于 2022-07-13 11:43:03 发布