zoukankan      html  css  js  c++  java
  • 【leetcode❤python】172. Factorial Trailing Zeroes

    #-*- coding: UTF-8 -*-
    #给定一个整数N,那么N的阶乘N!末尾有多少个0? 比如:N=10,N!=3628800,N!的末尾有2个0。
    #所有的尾部的0可以看做都是2*5得来的,所以通过计算所有的因子中2和5的个数就可以知道尾部0的个数。
    #实际上,2的个数肯定是足够的,所以只需计算5的个数即可。
    #要注意,25=5*5是有两个5的因子;125=5*5*5有3个5的因子。比如,计算135!末尾0的个数。
    #首先135/5 = 27,说明135以内有27个5的倍数;27/5=5,说明135以内有5个25的倍数;
    #5/5=1,说明135以内有1个125的倍数。
    #当然其中有重复计数,算下来135以内因子5的个数为27+5+1=33。
    class Solution(object):
        def trailingZeroes(self, n):
            """
            :type n: int
            :rtype: int
            """
            result=0
            while n>0:
                n=n/5
                result+=n
            return result

    sol=Solution()
    sol.trailingZeroes(10)

  • 相关阅读:
    PCB工作台
    A/D转换
    gerber文件生成与PCB3D视图
    软考考前冲刺第十四、十五章算法设计与面向对象程序设计
    数据库之范式
    Java第九天
    软考考前冲刺第十三章UML建模
    软考错题合集之16-05-AM
    Java第八天
    Java第七天
  • 原文地址:https://www.cnblogs.com/kwangeline/p/5953541.html
Copyright © 2011-2022 走看看