直接计算:
#!/usr/bin/python s = 1 for i in range(1, 101):s *= i count = 0 q = str(s) for i in reversed(q): if (int)(i) == 0: count += 1 else: break print count
得到结果:
24
两个数的乘积能在末尾产生0的只有"偶数X5的倍数",1~100之间有50个偶数,但是5的倍数很少,
其中5,10,15,20这样的数能产生一个0,共20-4=16个这样的数,产生16*1=16个0
而25,50,75,100这样的数能产生两个0,共4个这样的数,产生4*2=8个0
所以结尾总共产生16+8=24个零