#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;
}精确大数阶乘,布布扣,bubuko.com
精确大数阶乘
原文:http://blog.csdn.net/rememberautumn/article/details/20229653