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