大数阶乘

来源:互联网 发布:软件总工程师简历 编辑:程序博客网 时间:2024/05/16 05:02
#include<cstdio>
#include<cstring>
int a[100100];//易错点就是数组开的不够大
int main()
{
    int n;
   scanf("%d",&n);
   int i,j,k,len=1;
  memset(a,0,sizeof(a));
        a[1]=1;
        for(i=2;i<=n;i++)
        {
            int c=0;
            for(j=1;j<=len;j++)
            {
                k=a[j]*i+c;
                c=k/10;
                a[j]=k%10;
                if(c&&j==len)len++;
            }
        }


        for(j=len;j>=1;j--)
           printf("%d",a[j]);
        printf("\n");


    return 0;
}
0 0
原创粉丝点击