力扣中国172阶乘后的零

网友投稿 740 2022-09-16

力扣中国172阶乘后的零

力扣中国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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:来自国外网站的一堆有用或有趣的小工具,也许对你有所帮助(四)
下一篇:来自国外网站的一堆有用或有趣的小工具,也许对你有所帮助(三)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~