力扣中國172階乘後的零

class Solution:    # 超時 首先是用的暴力的方法算的,直接算出階乘,而後求出有幾個零    # 可是提交的時候直接顯示超時。    def trailingZeroes(self, n: int) -> int:        sum_0,sum_num = 0,1        for index in range(1,n + 1):            sum_num *= index            while sum_num % 10 == 0:                sum_0 += 1                sum_num = sum_num // 10        return sum_0    # 而後看了大神的方法,明白告終尾有一個零階乘衝確定有一個 5 ,所以    # 就至關於階乘裏邊有幾個5,最後的結果末尾就有幾個零    # 可是當n = 25 的時候,階乘裏邊有6個5,而不是由5個,由於25 = 5 * 5    def trailingZeroes(self, n: int) -> int:        # 定義一個sum變量        sum = 0        # 注意這裏,當n爲5的幾回方時,均可以多拆出來一個5        while n > 0:            n = n // 5            sum += n        return sum
相關文章
相關標籤/搜索