1 2 3
1 2 6
#include<iostream> #include<iomanip> using namespace std; int n,i,k,l; int main() { while(cin>>n) { int a[80000]={0}; a[0]=1;l=0; 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]>9999&&m==s-1) {s++;} while(a[m]>9999) { a[m+1]+=a[m]/10000; a[m]=a[m]%10000; } } } for(k=s-1;k>=0;k--) {if(l==0) {cout<<a[k];l=1;} else {cout<<setfill(‘0‘)<<setw(4)<<a[k];}} cout<<endl;} return 0; }
原文:http://blog.csdn.net/rememberautumn/article/details/22980599