Leetcode刷題java之172. 階乘後的零(一天一道編程題之第十九天)

執行結果:

通過

顯示詳情

執行用時 :1 ms, 在所有 Java 提交中擊敗了99.85% 的用戶

內存消耗 :36.9 MB, 在所有 Java 提交中擊敗了5.50%的用戶

題目:

給定一個整數 n,返回 n! 結果尾數中零的數量。

示例 1:

輸入: 3
輸出: 0
解釋: 3! = 6, 尾數中沒有零。

示例 2:

輸入: 5
輸出: 1
解釋: 5! = 120, 尾數中有 1 個零.

說明: 你算法的時間複雜度應爲 O(log n) 。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。

思路:

計算因子5的個數。

代碼:

class Solution {
    public int trailingZeroes(int n) {
        int count=0;
        //計算因子中5的個數。2因子的數目太多了,所以計算5的就好
        //每隔5個出現一個,每隔25(5*5)出現一個,每隔125(5*5*5)出現一個
        //以此類推
        while(n>0)
        {
            n/=5;
            count+=n;
        }
        return count;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章