题目:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
思路:
要计算出位数有多少0,直接计算出5是那些数的因子。
package edu.LeetCode.二;
/**
* 给定一个整数n,返回n!结果位数中0的数量
*/
public class 阶乘后的0 {
public static int trailingZeroes(int n){
int count = 0;
while(n / 5 > 0) {
count += n/5;
n /= 5;
}
return count;
}
public static void main(String[] args) {
int n = 100;
System.out.println(trailingZeroes(n));
}
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。