大数阶乘(n!)末尾0的个数


所谓零,就是5*2,所以 “n!末尾有多少个零”==“min(n!的质因子中5的数目,n!的质因子中2的数目”

又因为n!的质因子中5的数目必然小于等于2的数目,所以题目就变成了求n!的质因子中5的数目。

比如 26! 是 1*2*3*4*5*6……24*25*26,它们中间有多少个数能被5整除?当然是26/5=5个,但看25,它本身是5*5,也就是25代表着2个5,所以26!尾部零的数目等于 26/5 + 26/25 + 26/125 + ...

现在来计算1000!的末尾有多少个零,那么就是
1000/5 = 200
200/5 = 40 (写成1000/25也可以,但没这个意义了,下同)
40/5 = 8
8/5 = 1
结果就是 200+40+8+1 = 249

你可能感兴趣的:(大数阶乘(n!)末尾0的个数)