阶乘模版

#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");
    }
}
posted @ 2012-06-25 19:55  Szz  阅读(156)  评论(0编辑  收藏  举报