Python程序计算一个数字的阶乘中的尾随零
给定一个整数 n,编写一个函数,返回 n! 中尾随零的计数。
例子 :
Input: n = 5
Output: 1
Factorial of 5 is 120 which has one trailing 0.
Input: n = 20
Output: 4
Factorial of 20 is 2432902008176640000 which has
4 trailing zeroes.
Input: n = 100
Output: 24
Trailing 0s in n! = Count of 5s in prime factors of n!
= floor(n/5) + floor(n/25) + floor(n/125) + ....
Python3
# Python3 program to
# count trailing 0s
# in n !
# Function to return
# trailing 0s in
# factorial of n
def findTrailingZeros(n):
# Initialize result
count = 0
# Keep dividing n by
# powers of 5 and
# update Count
i = 5
while (n / i>= 1):
count += int(n / i)
i *= 5
return int(count)
# Driver program
n = 100
print("Count of trailing 0s "+
"in 100 ! is", findTrailingZeros(n))
# This code is contributed by Smitha Dinesh Semwal
输出:
Count of trailing 0s in 100 ! is 24
有关详细信息,请参阅有关在一个数字的阶乘中计算尾随零的完整文章!