hdu N!

时间:2023-03-09 01:41:02
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; }