您的位置:首页 > 其它

杭电1042 N!

2014-10-11 18:59 253 查看


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

 

CODE:

#include <stdio.h>
#include <string.h>
int main()
{
int i,j,a,n,len,str[70000];    //要开到70000,不然wa
while(~scanf("%d",&n))
{
str[0]=1;
len=1;
for(i=1;i<=n;i++)
{
a=0;
for(j=0;j<len;j++)
{
str[j]=str[j]*i+a;
if(str[j]>9)
{
a=str[j]/10;
str[j]%=10;
}
else
a=0;
}
//printf("%d %d\n",j,len);
while(a)
{
str[len]=a%10;
a/=10;
len++;
}
}
for(i=len-1;i>=0;i--)
printf("%d",str[i]);
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  杭电 大数