今天看了一下别人做的大数阶乘,感觉这种思想很好。。
#include<stdio.h>
int main ()
{
int k,s,d,m,n,i,j;
int a[10000];
while (scanf("%d",&n)!=EOF)
{
m=1;a[0]=1;s=0;
for(i=2;i<=n;i++)
{
k=0;
for(j=s;j<m;j++)
{
a[j]=a[j]*i+k;
k=a[j]/100000;
a[j]=a[j]%100000;
}
if(k)
a[m++]=k;
while (a[s]==0)
s++;
}
printf("%d",a[m-1]);
for(i=m-2;i>=s;i--)
printf("%05d",a[i]);
for(i=0;i<s;i++)
printf("00000");
printf("\n");
}
return 0;
}