100的阶乘末尾有多少个零?
阶乘末尾一个0表示一个进位,相当于乘以10.而10由2*5所得,在1-100中能产生10的数有 0,2,4,5,6,8结尾的数字,其中4,6,8都是2的倍数,所以只留2就可以。因此只剩下2和5,而在2和5中,只要看5的个数就可以,1-100中有5,15,25,35,45,55,65,75,85,95。
1.每隔5个,会由2*5 = 10产生一个0
2.每隔5*5个,会由4*25(2*5*2*5 = 100)产生两个零
3.每隔5*5*5个,会由8*75(2*5*2*5*2*5 = 1000)产生3个0
所以100!末尾0的数量为100/5+100/25 = 20+4 = 24
学到这里就结束了吗?那只是得一鱼而已。
N!的末尾有多少0?
N/5+N/5^2+N/5^3+...
python代码实现:
1 import math 2 N= int(input("how many 0 at the end of its' factorial:\n")) 3 4 a = 5 5 sum = 0 6 while a<= N: 7 sum = sum+math.floor(N/a) 8 a =a*5 9 10 print(sum)
浙公网安备 33010602011771号