1. 程式人生 > >[LeetCode] Factorial Trailing Zeroes

[LeetCode] Factorial Trailing Zeroes

使用 pub class mic lee 算法 結果 ret res

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

Note: Your solution should be in logarithmic time complexity.

計算n!結果的末尾有幾個零。

題目要求復雜度為對數,所以不能使用暴力算法:即先計算n!,然就依次除以10計算0個個數。

末尾的零是由2 * 5得到的,所以需要計算n中2和5的個數即可。又因為2的個數遠多於5的個數,只要計算5的個數即可。

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

[LeetCode] Factorial Trailing Zeroes