大数阶乘
#include<iostream> #include<iomanip> using namespace std; int main(){ int n; int a[10000]; while(cin>>n){ a[0]=1; int k=0,x=0; for(int i=1;i<=n;i++){ x=0; for(int j=0;j<=k;j++){ a[j]=a[j]*i+x; x=a[j]/10000; a[j]=a[j]%10000; } if(x!=0){ k++; a[k]=x; } } cout<<a[k]; for(int i=k-1;i>=0;i--) cout<<setw(4)<<setfill('0')<<a[i]; cout<<endl; } return 0; }