Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
1 2 3
Sample Output
1 2 6 代码如下:#include<iostream> #include<cstring> #include<iomanip> using namespace std ; const int MAX = 9000 ; const int UP = 10000 ; int main(){ int a[MAX] ; int n; while(cin>>n){ for(int i=0 ; i<MAX ; ++i) a[i] = 0; a[0] = 1; int t = 1; for(int i=1 ; i<=n ; ++i){ int so = 0 ; for(int j=0 ; j<t ; ++j){ a[j] = i*a[j]+so ; so = a[j]/UP ; a[j] = a[j]%UP ; } while(so){ a[t++] += so%UP; so /= UP; } } cout<<a[--t]; while(t > 0 ) cout<<setw(4)<<setfill('0')<<a[--t]; cout<<endl; } return 0; }