n的阶乘有多少个0 leetcode 乘积末尾的0的个数依赖于因子中的2的个数和5的个数.对于阶乘来说,每2个数字就至少有一个2的因子,所以2的因子是足够的.5的因子相对少些,至少连续5个数才能保证一定出现一个.注意,这里连续5个数保证出现一个5的因子是指最少的情况.比如1,2,3,4,5,这就只会出现一个.intnZeroOfFactorial(intn){ intzeroCnt = 0 intmultipleOf5 = 5 while (n >= multipleOf5) { zeroCnt += n/multipleOf5 multipleOf5 *= 5 } returnzeroCnt} e.g.nZeroOfFactorial(81) = 19