思路:
(1)分解因子, 当且仅当 因子中出现 一对 (2,5)时, 最后结果会增加一个 trailing zero。
(2)以对N!进行素数分解:N!=2^i****5^j***,则末尾0的个数为min(i,j)。又由于2的个数永远多于5的个数,索引i明显远大于j,所以只要求解j即可。
public class Solution {
public int trailingZeroes(int n) {
int result = 0;
while(n > 0) {
result += n/5;
n /= 5;
}
return result;
}
}
Runtime:1ms