LeetCode N阶乘的尾数为0的个数
2015-01-27 10:19
197 查看
原题如下
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
分析,N的阶乘 n!=5^m * 2^k * ... ,因此只要我们找出m和k,并且取最小值就是末尾0的个数。
进一步分析我们发现2的倍数出现的频率比5出现的高,也就是说k>m. 我们只要找出m也就是所需要的答案。
如下是Java实现版本:
public class Solution {
public int trailingZeroes(int n) {
int rvl = 0;
while(n > 0){
rvl += n/5;
n = n/5;
}
return rvl;
}
}
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
分析,N的阶乘 n!=5^m * 2^k * ... ,因此只要我们找出m和k,并且取最小值就是末尾0的个数。
进一步分析我们发现2的倍数出现的频率比5出现的高,也就是说k>m. 我们只要找出m也就是所需要的答案。
如下是Java实现版本:
public class Solution {
public int trailingZeroes(int n) {
int rvl = 0;
while(n > 0){
rvl += n/5;
n = n/5;
}
return rvl;
}
}
相关文章推荐
- LeetCode 172. Factorial Trailing Zeroes(阶乘结果尾数0的个数)---E
- leetcode 172. Factorial Trailing Zeroes(C语言,阶乘中尾数0的个数)26
- Leetcode172 求n的阶乘尾数连续0的个数
- LeetCode 172. Factorial Trailing Zeroes (阶乘末尾零的数量)
- [C++]LeetCode: 114 Permutation Sequence(返回第k个阶乘序列——寻找数学规律)
- 阶乘尾数0的个数(c)
- C语言(29)阶乘尾数零的个数
- 2.求任意数的阶乘尾数有几个0.
- n阶乘 尾数0的个数
- n阶乘 尾数0的个数
- 最简单的问题与算法(阶乘尾数零的个数)
- 阶乘尾数0的个数
- LeetCode 172 Factorial Trailing Zeroes(阶乘后的零)(*)
- [LeetCode] Preimage Size of Factorial Zeroes Function 阶乘零的原像个数函数
- LeetCode--Factorial Trailing Zeroes(阶乘的末位0数)
- 【n阶乘求尾数有多少个0】
- leetcode Factorial Trailing Zeroes非负整数阶乘后尾0个数
- 求阶乘尾数0的个数
- 判断一个数阶乘N!的尾数中零的个数
- LeetCode Factorial Trailing Zeroes (阶乘后缀零)