题目:172. 阶乘后的零
思路:
参考 这篇题解。
总结一下,即0是通过相乘得到10来的,即2*5,某个数字包含2的个数一定大于包含5的个数,每5个数字出现一个5,每5*5
个数出现两个5,每5*5*5
个数会出现三个5……,以此类推,最终5的个数为:
n/5 + n/25 + n/125 + ······
代码:
class Solution {
public int trailingZeroes(int n) {
if (n < 5) {
return 0;
}
return n / 5 + trailingZeroes(n / 5);
}
}
class Solution {
public int trailingZeroes(int n) {
int count = 0;
while (n > 0) {
n /= 5;
count += n;
}
return count;
}
}