算法
由于除了1!以外,阶乘均为偶数(有2),且有一个因子5末尾就含有一个0(例如25含有2个因子5)。因此,计算该数有多少个因子5,即可得到该数阶乘末尾0的个数。
python实现
def zero_count(n):
count = 0
while n > 0:
n //= 5
count += n
return count
def main():
print(zero_count(1024))
if __name__ == '__main__':
main()
输出:
253
复杂度分析
循环次数为n//5,因此复杂度为 o ( n / / 5 ) o(n//5) o(n//5)