给定一个整数 n,返回 n! 结果尾数中零的数量。

示例 1:

输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2:

输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。

/**
 * 计算2因子和5因子出现的次数,2肯定比5出现的多,所以只需要计算5出现的次数
 * 例如 25! = 5 * ... * (2*5) * ... * (3*5) * ... * (4*5) * ... * (5*5) 一共出现了5次,但是25 = 5 * 5
 * 就会少计算一次,同理125 = 5 * 5 * 5,会少计算2次;
 * 因此,不能只计算5出现的次数,还需要计算 除以5后的商 里面出现5的次数;
 * @param {number} n
 * @return {number}
 */
var trailingZeroes = function(n) {
    var count = 0;
    while(n > 0){
        n = Math.floor( n / 5);
        count += n;
    }
    return count;
};