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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141670.html
標籤:Python
上一篇:《自拍教程68》Python呼叫攝像頭? 干嘛? 錄制小視頻!!!
下一篇:力扣中國101對稱二叉樹
