大数阶乘

来源:互联网 发布:javascript 15天写好的 编辑:程序博客网 时间:2024/06/05 05:33
 #include <stdio.h>#include<iostream>using namespace std;int main(){    int carry,n,j;    int a[40001];    int digit;    int temp,i;    while(scanf("%d",&n)!=EOF){    a[0]=1;digit=1;    for(i=2; i<=n; i++)    {        for(carry=0,j=1; j<=digit; ++j)        {          //  cout<<a[j-1 ]<<" "<<i<<endl;            temp=a[j-1]*i+carry;         //  cout<<"temp "<<temp<<endl;            a[j-1]=temp%10;           // cout<<"a[j-1] "<<a[j-1]<<endl;            carry=temp/10;         //   cout<<"carry "<<carry<<endl;        }        while(carry)        {            //digit++;            a[++digit-1]=carry%10;            carry/=10;        }    }    for(int k=digit; k>=1; --k)        printf("%d",a[k-1]);    printf("\n"); //printf("length=%d\n",digit); }    return 0;}

0 0
原创粉丝点击