问题:
设计算法求一个数的阶乘结果尾部0的个数。
思路:
尾数0个数取决于5和2的倍数的个数,而一个数分解成其因数之乘积后2的倍数数量比5的倍数多,故可取5的质因数数量作为0的个数。
public class Solution {
public long trailingZeros(long n) {
long s=0;
while (n!=0){
s=s+n/5;
n=n/5;
}
return s;
}
}