zoukankan      html  css  js  c++  java
  • 力扣中国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
  • 相关阅读:
    程序员学习参考网站
    博客
    window对象
    事件触发顺序
    element对象
    正则表达式
    Date对象
    Number对象
    Math对象
    Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/cong12586/p/12977151.html
Copyright © 2011-2022 走看看