HDU - 1042 - N!(大数阶乘)
发布时间:2020-12-14 02:25:48 所属栏目:大数据 来源:网络整理
导读:A HDU 1042.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
Problem DescriptionGiven an integer N(0 ≤ N ≤ 10000),your task is to calculate N! InputOne N in one line,process to the end of file. OutputFor each N,output N! in one line. Sample Input
Sample Output1 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int n;
int res[70000];
while (scanf("%d",&n)!=EOF){
memset(res,0,sizeof(res));
res[0] = 1;
int j,len = 1;
for (int i = 1; i <= n; i++){
int c = 0;
for (j = 0; j < len; j++){
res[j] = res[j]*i+c;
if(res[j]>9){
c = res[j]/10;
res[j]%=10;
}
else c = 0;
}
if (c){
while(c){
res[j]=c%10;
c = c/10;
j++;
len++;
}
}
}
for(int i = len-1; i >= 0; i--)
printf("%d",res[i]);
printf("n");
}
return 0;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |