Python program to count the number of trailing zeros in Factorial of number N

In this Python program, we will figure out how to include a number of trailing zeros in factorial of N?

Formula:

Trailing 0s in N! = Count of 5s in prime factors of n!
    = floor(n/5) + floor(n/25) + floor(n/125) + ....

Example:

    Input: N = 23
    Output: 4
    Factorial of 23 is 25852016738884976640000 which has four trailing 0.

    Input: N = 25
    Output: 6
    Factorial of 25 is 15511210043330985984000000 which has six trailing 0.

Code:

# Define a function for finding
# number of trailing zeros in N!
def find_trailing_zeros(num) :
    sum = 0
    i = 1
    
    # iterating untill quotient is not zero
    while(True) :

        # take integer divison 
        quotient = num // (5 ** i)
        
        if(quotient == 0) :
            break
        
        sum += quotient
        i += 1
    
    return(sum)
	
# Driver code    
if __name__ == "__main__" :
    
    # assigning a number
    num = 10
    
    # function call
    print("Number of trailing zeros in factorial of",num,"is :",find_trailing_zeros(num))
    
    num = 20
    
    print("Number of trailing zeros in factorial of",num,"is :",find_trailing_zeros(num))

Output:

Number of trailing zeros in factorial of 10 is : 2
Number of trailing zeros in factorial of 20 is : 4

Leave a Comment

error: Alert: Content is protected!!