思路:
末尾爲0 ,說明是5的倍數,同時你不會真的去計算結果再得到0的數目,這樣不可取。 所以想到從階乘的數字下手, 比如 5!=120 有一位; 10! = 3628800 有2位0 ; 多計算幾個發現規律 n/5 ; 對於數據小的時候滿足 ,但大於 25時不滿足,繼續發現規律。 最後 得到下面的規律:
long k= n/5;
long x= k;
while(k>5){
x+=k/5;
k=k/5;
}
這裏計算後滿足要求,後續再用位操作看怎麼實現,猜測會比這個操作要快。