programa de Python para contar el número de ceros a la derecha en el factorial del número N

En este programa Python, vamos a aprender cómo contar el número de ceros en el factorial de N?

Fórmula utilizada:

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

Ejemplo:

    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.

Código:

# 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))

salida

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


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *