题目链接
阶乘后的零
题目描述
注意点
- 返回 n! 结果中尾随零的数量
解答思路
- 阶乘后有多少个0,取决于乘法计算中有多少个2 * 5(只有2 * 5的结果是10有尾随0),又因为在阶乘中2的数量一定多于5的数量,所以阶乘后有多少个尾随0只取决于5的数量,有多少个5则有多少个尾随0
代码
class Solution {
public int trailingZeroes(int n) {
int res = 0;
for (int i = 5; i <= n; i += 5) {
int x = i;
while (x % 5 == 0) {
res++;
x = x / 5;
}
}
return res;
}
}
关键点
- 决定阶乘后的0的关键点