zoukankan      html  css  js  c++  java
  • [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 题目汇总

  • 相关阅读:
    vue中的$nextTick()
    对SPA(单页面应用)的总结
    函数节流和函数防抖
    前端路由
    let、const
    深拷贝与浅拷贝
    小白浅谈Ajax基础
    关于BFC布局的那些事
    关于BFC的那些事
    Sass基础知识及语法
  • 原文地址:https://www.cnblogs.com/lightwindy/p/9736240.html
Copyright © 2011-2022 走看看