一问题描述
-
给定一个整数 n,返回 n! 结果尾数中零的数量。
-
示例 1:
-
输入: 3
-
输出: 0
-
解释: 3! = 6, 尾数中没有零。
-
示例 2:
-
输入: 5
-
输出: 1
-
解释: 5! = 120, 尾数中有 1 个零.
-
说明: 你算法的时间复杂度应为 O(log n) 。
二示例代码
public static void main(String[] args) {
int number = 100;
int zero = factorialZero2(number);
System.out.println(zero);
}
private static int factorialZero(int number) {
int factorialResult = 1100;
int result = 0;
while (factorialResult % 10 == 0) {
result++;
factorialResult /= 10;
}
return result;
}
public static int factorialZero2(int number) {
int count = 0;
for (int i = 1; i <= number; i++) {
int N = i;
while (N > 0) {
if (N % 5 == 0) {
count++;
N /= 5;
} else {
break;
}
}
}
return count;
}