JAVA求一個整數階乘末尾0的個數

請聽題

======================================================================================================

時間限制:1秒

空間限制:32768K


輸入一個正整數n 求n!的結尾有多少個0?

比如n=10; n!=3628800,所以答案爲2


輸入描述:

輸入n(1<=n<=1000),如:10

輸出描述:

輸出一個整數,及0的個數,如:2


======================================================================================================

在頭條裏看到說是滴滴的面試題,總共兩個,第一個題目太長,懶得看,所以寫了第二個,一羣評論的二貨寫的答案是 n/5,可是驗證過了,肯定不對。

可是我不知道這個答案用數學公式該怎麼來寫,直接上代碼。


	
/**
 * 第二題的解法
 * 
 * @author LvGuoFei
 * @version 創建時間:2016-9-18 下午11:37:54
 * @version <h3>This class of code that there will be no mistake, amen</h3>
 */
public class Reply {
    /**
     * 統計階乘數據中出現零的個數
     * 
     * @param i
     * @return
     * @author LvGuoFei
     */
    private static int zeroNum(int i) {
        int zn = i / 5;
        int aa = cs(zn);
        aaj = 0;
        zn = zn + aa;
        return zn;
    }

    private static int aaj = 0;

    private static int cs(int i) {
        int j = i / 5;
        if (j >= 5) {
            aaj += j;
            cs(j);
        } else {
            aaj += j;
        }
        return aaj;
    }

    public static void main(String[] args) {
        System.out.println(zeroNum(1259));
    }

}



還是沒想起來怎麼寫公式,誰知道了求告知。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章