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