1172:求10000以内n的阶乘

简介: 1172:求10000以内n的阶乘

1172:求10000以内n的阶乘

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

求10000以内n的阶乘。

【输入】

只有一行输入,整数n(0≤n≤10000)。

【输出】

一行,即n!的值。

【输入样例】

4

【输出样例】

24

【来源】

No

1. #include <cstdio>
2. #include <cstring>
3. #include <iostream>
4. using namespace std;
5. int a[100000]={0};
6. int main()
7. {
8.  int n,i,j,t,jw,len;
9.  scanf("%d",&n);
10.   if(n==0){
11.     printf("1");
12.     return 0;
13.   }
14.   a[1]=1,len=1; 
15.   for(i=1;i<=n;i++){
16.     j=1;
17.     jw=0;
18.     while(j<=len){
19.       a[j]=a[j]*i+jw;
20.       if(a[j]>=10){
21.         jw=a[j]/10;
22.         a[j]%=10;
23.       }
24.       else jw=0;
25.       j++;
26.     }
27.     while(jw>0){
28.       a[j]=jw%10;
29.       jw/=10;
30.       j++;
31.       len++;
32.     }
33.   }
34.   for(i=len;i>=1;i--) printf("%d",a[i]);
35.   return 0;
36.  }

 

目录
打赏
0
0
0
0
3
分享
相关文章
阶乘
【10月更文挑战第20天】阶乘。
79 4
|
11月前
|
C++求阶乘的深入探索
C++求阶乘的深入探索
324 0
|
11月前
|
求阶乘之和
【1月更文挑战第18天】C语言实例——求阶乘之和。
61 3
|
11月前
辗转相除法求最大公约数(使用递归实现)~
辗转相除法求最大公约数(使用递归实现)~
103 0
Leedcode 两数、三数、四数之和总结
Leedcode 两数、三数、四数之和总结
200 0
Leedcode 两数、三数、四数之和总结