• [LeetCode] 172. Factorial Trailing Zeroes 求阶乘末尾零的个数


    Given an integer n, return the number of trailing zeroes in n!.

    Example 1:

    Input: 3
    Output: 0
    Explanation: 3! = 6, no trailing zero.

    Example 2:

    Input: 5
    Output: 1
    Explanation: 5! = 120, one trailing zero.

    Note: Your solution should be in logarithmic time complexity.

    给一个整数n,返回n的阶乘末尾0的个数。

    找乘数中10的个数,而10可分解为2和5,而2的数量远大于5的数量,所以找出5的个数。

    解法1:迭代Iterative

    解法2: 递归Recursive

    Java:

    public class Solution {
        public int trailingZeroes(int n) {
            int res = 0;
            while (n > 0) {
                res += n / 5;
                n /= 5;
            }
            return res;
        }
    }  

    Java:

    public class Solution {
        public int trailingZeroes(int n) {
            return n == 0 ? 0 : n / 5 + trailingZeroes(n / 5);
        }
    }
    

    Python:

    class Solution:
        # @return an integer
        def trailingZeroes(self, n):
            result = 0
            while n > 0:
                result += n / 5
                n /= 5
            return result  

    Python:

    class Solution(object):
        def trailingZeroes(self, n):
            """
            :type n: int
            :rtype: int
            """
            return 0 if n == 0 else n / 5 + self.trailingZeroes(n / 5)     

    C++:

    class Solution {
    public:
        int trailingZeroes(int n) {
            int res = 0;
            while (n) {
                res += n / 5;
                n /= 5;
            }
            return res;
        }
    };
    

    C++:

    class Solution {
    public:
        int trailingZeroes(int n) {
            return n == 0 ? 0 : n / 5 + trailingZeroes(n / 5);
        }
    };
    

      

      

    All LeetCode Questions List 题目汇总

  • 相关阅读:
    算法:拓扑排序
    【欧拉计划2】Even Fibonacci numbers
    机房收费系统之模版方法使用
    VC运行时库
    数据库学习(6)——基本查询操作
    Attribute与Property的区别
    记C++类成员访问权限符二三事
    大年初五去颐和园
    2013年第6周六农历除夕下午
    大年初四晚上睡前
  • 原文地址:https://www.cnblogs.com/lightwindy/p/9736240.html
Copyright © 2020-2023  润新知