这个属于一个技巧题,首先你不可能计算出所有数字的阶乘然后计算后面有几个0。

我们可以知道n!可以变成一系列质子相乘,例如5!=2^3*3*5,7!=2^4*3^2*5*7等,因此n!=2^X*3^Y*5*Z.....其中一个2*5就会产生一个0,因此0的个数为MIN(x,z),明显x>z,因为一个数字被2整除的几率比被5整除要大,因此我们只要求出z就好了。

例如10!中出现了2个5(10/5),25!中出现了5个5(25/5),但是25其实本身是2个5组成的,因此要在多加一个5(25/(5*5)),因此求5的个数为(Y/5)+(Y/(5*5))+(Y/(5*5*5)...

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字