Factorial Trailing Zeroes

Factorial Trailing Zeroes

题目描述:

给定一个数要求计算其阶乘结果尾部0的个数。

例子:

具体描述见LeetCode172

解题思路:

阶乘的结果中0的结果来至于5的个数,因为2的因子的个数远远多于5,所以只要找到了5的个数就可以知道阶乘尾部0的个数。又因为25,125等存在多个5,所以我们需要不断的找到这些因子的数量。将所有因子的数量相加即可得到0的个数。

代码如下:

1
2
3
4
5
6
7
8
9
10
class Solution {
public:
int trailingZeroes(int n) {
int result = 0;
for (long long i = 5; n / i > 0; i *= 5){
result += (n / i);
}
return result;
}
};