精确大数阶乘

#include<iostream>
using namespace std;
int main()
{int a[3000],n,i,k;
cin>>n;
for(i=0;i<100;i++)
 a[i]=0;
a[0]=1;
int m,s=1;
 for(i=1;i<=n;i++)
 {
   for(m=1;m<=s;m++)
  a[m-1]*=i;
   for(m=0;m<s;m++)
 { if(a[m]>9&&m==s-1) {s++;}
        while(a[m]>9)
{
a[m+1]++;
a[m]-=10;
}
   }


  
 }for(k=s-1;k>=0;k--)
  cout<<a[k];
  cout<<endl;
  return 0;
 
}

原文地址:https://www.cnblogs.com/oversea201405/p/3767046.html