为什么j还要÷5统计5的个数呀,求解疑

img


这里为什么j还有÷5统计5的个数呀,j如果是5的倍数,0不是已经加了一个了吗,然后i继续向后面走,为什么还要统计5的个数呀,看不懂,求解

img


看这一句,125可以看作是5 * 5 * 5。

希望对题主有所帮助!可以的话,帮忙点个采纳!

因为sum++, 代表计入了一个0,所以,相应的要从j里面去除一个5的因数,直到计算完j里面有多少个5.
每一个5的倍数的数通过j/=5分解出有多少个5,然后就知道乘积增加有多少个0.
(每一个5倍数的数都可以通过这个数之前的数分解出2或4来完成匹配成5x2或者5x4来合成一个尾数为0)
只有随着i的增大,才知道1到n之间有多少个5的倍数的数,然后再计算出尾数可以有多少个0.

这代码是干什么的