今天看了一下别人做的大数阶乘,感觉这种思想很好。。
#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; }