172. 阶乘后的零

https://leetcode-cn.com/problems/factorial-trailing-zeroes/

解法一:观察

其实就是找n!的所有因子中有多少个5。如31:

1*5,2*5,3*5,4*5,5*5(5^2),6*5

一共7个5,用算法计算就是31/5=6, 31//5^2=1, 如果31还能被5^3除,以此类推。。。最后6+1=7.

class Solution:
    def trailingZeroes(self, n: int) -> int:
        count = 0  #统计5的个数
        #循环除以5
        while n:
            n //= 5
            count += n
        return count

最后更新于