hdu N!

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<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;
 
}


posted @ 2014-04-05 11:04  IT专业户  阅读(147)  评论(0编辑  收藏  举报