n!表示1*2*3....*(n-1)*n,計算末尾的0的個數很簡單
我們來倒推:
要知道有多少個0,實際就是要知道結果裡面有10的多少次方
10=2*5,顯然1到n裡面,2的個數要遠遠大於5的個數
實際就是要我們找出結果裡面有5得多少次方,其實也就是算算有多少個5了
1)假設最接近n的5的冪數是5的a次方這個自然數(那麼接近100的也就是5的2次方=25了,a=2)
2)答案就是a*(n/5的a次方)+(a-1)*(n/5的a次方-n/5的a-1次方)+(a-2)(n/5的a-2次方-n/5的a-1次方-n/5的a次方)+........
那麼問題的答案就是:
2*(100/25)+1*(100/5-100/25)=8+16=24個0
1*2*3*......*688的末尾有多少個0?
5*5*5*5=625,但是5的5次方>688了
所以,a=4
答案就是:
4*([688/625])+3*([688/125]-[688/625])+2*([688/25]-[688/125]-[688/625])+1*([688/5]-[688/25]-[688/125]-[688/625])=4*1+3*3+2*23+110=169個
n!表示1*2*3....*(n-1)*n,計算末尾的0的個數很簡單
我們來倒推:
要知道有多少個0,實際就是要知道結果裡面有10的多少次方
10=2*5,顯然1到n裡面,2的個數要遠遠大於5的個數
實際就是要我們找出結果裡面有5得多少次方,其實也就是算算有多少個5了
1)假設最接近n的5的冪數是5的a次方這個自然數(那麼接近100的也就是5的2次方=25了,a=2)
2)答案就是a*(n/5的a次方)+(a-1)*(n/5的a次方-n/5的a-1次方)+(a-2)(n/5的a-2次方-n/5的a-1次方-n/5的a次方)+........
那麼問題的答案就是:
2*(100/25)+1*(100/5-100/25)=8+16=24個0
1*2*3*......*688的末尾有多少個0?
5*5*5*5=625,但是5的5次方>688了
所以,a=4
答案就是:
4*([688/625])+3*([688/125]-[688/625])+2*([688/25]-[688/125]-[688/625])+1*([688/5]-[688/25]-[688/125]-[688/625])=4*1+3*3+2*23+110=169個