Trailing Zeros in Factorial

Posted: 31 Oct, 2020
Difficulty: Moderate

PROBLEM STATEMENT

Try Problem

You are given an integer N, you need to find the number of trailing zeroes in N! (N factorial).

Note:

1. Trailing zeros in a number can be defined as the number of continuous suffix zeros starting from the zeroth place of a number.
2. For example, if a number X = 1009000, then the number of trailing zeros = 3 where the zeroth place is 0, the tenth place is 0, the hundredth place is 0.
3. ! means “FACTORIAL”. Factorial of a number is calculated by the product of the integer and all integers below it till 1.
4. Value of 0! is 1.
Input Format:
The first line of the input contains an integer T denoting the number of test cases.

The first and the only line of each test case contains an integer N, denoting the number whose number of trailing zeros from N! is to be found.
Output Format:
The only line of output of each test case should contain an integer, denoting the number of trailing zeroes in N!
Note:
You do not need to print anything, it has already been taken care of. Just implement the given function.
Constraints:
1 <= T <= 10^4
1 <= N <= 10^9

Time Limit: 1sec
Approach 1
  • Calculate the factorial of N.
  • Initialise FACT = 1 to store factorial of N, iterate 1 <= i <= N and do FACT = FACT * i.
  • Count the number of trailing zeroes in FACT. Initialise ZEROES = 0.
  • Repeatedly divide the FACT by 10, if the remainder is 0, increase ZEROES by 1. If the remainder > 0, stop and return ZEROES.
Try Problem