172. Factorial Trailing Zeroes (Easy)

https://leetcode.com/problems/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.

Solutions

class Solution {

    // We can imaging that quantity of 2 is always much more than 5. Because every
    // even number carries 2 and half of the numbers satisfy this. By contrast, 5 is less than 2.

    public int trailingZeroes(int n) {
        int ans = 0;
        while (n > 0) {

            // For the first pass, count how many numbers are multiple of 5
            // For the send pass, count how many numbers are multiple of 5 * 5
            // Repeat this process until n == 0

            ans += n / 5;

            n = n / 5;
        }

        return ans;
    }
}

Incorrect Solutions

References

Copyright © iovi.com 2017 all right reserved,powered by GitbookLast Modification: 2019-12-03 11:01:18

results matching ""

    No results matching ""