,算5000!要等怎么长时间啊,,都等了 5分钟了 还没算出来
#include"stdio.h"
#include"stdlib.h"
void mulnext(int *a,int k,int *cp)
{
int c=*cp,i,m,r;
int b[10000];
for(i=0;i<c;i++)
b[i]=a[i];
a[c]=0;
for(m=1;m<k;m++)
{
for(i=0;i<c;i++){
r=a[i]+b[i];
a[i]=r%10;
a[i+1]+=r/10;
}
}
r=a[c];
while(r>0){
a[c++]=r%10;r=r/10;
}
*cp=c;
}
void print(int *a,int k,int c)
{
int i;
printf("%4d!=",k);
for(i=--c;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
main()
{
int n,c,k;
int a[10000];
scanf("%d",&n);
a[0]=1;c=1;
for(k=2;k<n;k++)
mulnext(a,k,&c);
print(a,k,c);
}