All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0101_0200.s0172_factorial_trailing_zeroes.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0101_0200.s0172_factorial_trailing_zeroes;

// #Medium #Top_Interview_Questions #Math #Udemy_Integers
// #2022_06_26_Time_1_ms_(85.61%)_Space_42.1_MB_(7.61%)

/**
 * 172 - Factorial Trailing Zeroes\.
 *
 * Medium
 *
 * Given an integer `n`, return _the number of trailing zeroes in_ `n!`.
 *
 * Note that `n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1`.
 *
 * **Example 1:**
 *
 * **Input:** n = 3
 *
 * **Output:** 0
 *
 * **Explanation:** 3! = 6, no trailing zero. 
 *
 * **Example 2:**
 *
 * **Input:** n = 5
 *
 * **Output:** 1
 *
 * **Explanation:** 5! = 120, one trailing zero. 
 *
 * **Example 3:**
 *
 * **Input:** n = 0
 *
 * **Output:** 0 
 *
 * **Constraints:**
 *
 * *   0 <= n <= 104
 *
 * **Follow up:** Could you write a solution that works in logarithmic time complexity?
**/
public class Solution {
    public int trailingZeroes(int n) {
        int base = 5;
        int count = 0;
        while (n >= base) {
            count += n / base;
            base = base * 5;
        }
        return count;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy