Question

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.

Thinking:

  • Method:
    • n为5的倍数会出现0;
    • n为25的倍数会出现额外的0;
class Solution {
    public int trailingZeroes(int n) {
        int count = 0;
        while(n > 0){
            count += n / 5;
            n /= 5;
        }
        return count;
    }
}

二刷

Imgur

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