Factorial Trailing Zeroes Problem


Description

LeetCode Problem 172.

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:

1
2
3
Input: n = 3
Output: 0
Explanation: 3! = 6, no trailing zero.

Example 2:

1
2
3
Input: n = 5
Output: 1
Explanation: 5! = 120, one trailing zero.

Example 3:

1
2
Input: n = 0
Output: 0

Constraints:

  • 0 <= n <= 10^4


Sample C++ Code

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
    int trailingZeroes(int n) {
        int zeros = 0;
        uint64_t p = 5;
        while (p <= n) {
            zeros += (n / p);
            p *= 5;
        }
        return zeros;
    }
};




Related Posts

Factorial Trailing Zeroes Problem

LeetCode 172. Given an integer n, return the number of...

Rotate Image Problem

LeetCode 48. Determine if a 9 x 9 Sudoku board...

Palindrome Number Problem

LeetCode 9. Given an integer x, return true if x...

Divide Two Integers Problem

LeetCode 29. Write the code that will take a string...

Roman to Integer Problem

LeetCode 13. Given a roman numeral, convert it to an...

Reverse Integer Problem

LeetCode 7. Given a signed 32-bit integer x, return x...