力扣中国172阶乘后的零

   日期:2024-01-17     浏览:41    评论:0    
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
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服