100!末尾零的个数

直接计算:

#!/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个零

 

 

你可能感兴趣的:(100!末尾零的个数)