阶乘模版
#include<stdio.h> #include<string.h> #define maxn 5000 int f[maxn];//存放的是结果 int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { memset(f,0,sizeof(f)); f[0]=1; for(i=2;i<=n;i++) { int c=0;//进位 for(j=0;j<maxn;j++) { f[j]=f[j]*i+c; c=f[j]/10; f[j]=f[j]%10; } } for(i=maxn-1;i>=0;i--) { if(f[i]!=0)break; } for(j=i;j>=0;j--)printf("%d",f[j]); printf("\n"); } }