int factorial(int n) { long a[10000]; int i,j,c,m=0; a[0]=1; for(i=1;i<=n;i++) { c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } printf("\n"); if(c>0) { m++; a[m]=c; } } printf("\n%ld",a[m]); for(i=m-1;i>=0;i--) printf("%4.4ld",a[i]); return w; }
原文地址:http://blog.csdn.net/yejinwei1220/article/details/45877037