力扣中国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
相关文章
相关标签/搜索