nyoj 84-阶乘的0 (规律题)

Posted GetcharZp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nyoj 84-阶乘的0 (规律题)相关的知识,希望对你有一定的参考价值。

84-阶乘的0


内存限制:64MB 时间限制:3000ms 特判: No
通过数:7 提交数:9 难度:3

题目描述:

计算n!的十进制表示最后有多少个0

输入描述:

第一行输入一个整数N表示测试数据的组数(1<=N<=100)
每组测试数据占一行,都只有一个整数M(0<=M<=10000000)

输出描述:

输出M的阶乘的十进制表示中最后0的个数
比如5!=120则最后的0的个数为1

样例输入:

6
3
60
100
1024
23456
8735373

样例输出:

0
14
24
253
5861
2183837

PS:
  观察数据可以发现,我们只需要求改组数据阶乘结果中有多少个5,那么末尾就有多少个零

C/C++代码实现:
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7 #include <map>
 8 #include <queue>
 9 #include <set>
10 #include <climits>
11 
12 using namespace std;
13 const int MAXN = 35;
14 const int MY_MAX = INT_MAX;
15 const int EPS = 1e-8;
16 int N, M;
17 
18 int main()
19 {
20     scanf("%d", &N);
21     while(N --)
22     {
23         scanf("%d", &M);
24         int cnt = 0;
25         while (M)
26         {
27             cnt += M / 5;
28             M /= 5;
29         }
30         printf("%d\n", cnt);
31     }
32     return 0;
33 }

 

以上是关于nyoj 84-阶乘的0 (规律题)的主要内容,如果未能解决你的问题,请参考以下文章

nyoj 阶乘0

NYOJ 题目56 阶乘式因式分解

nyoj 56-阶乘因式分解(数学)

nyoj 28-大数阶乘 (大数模板)

nyoj 91阶乘之和

PAT1049-----枚举法,找规律题,注意降低时间复杂度