2021回秋招--爱奇芸笔试--1つの整数を与えて、阶乗の末端0の個数を出力します


今回の爱奇芸の开発笔记试験はとても简単です!
タイトルの説明:1つの正の整数を入力して、その末端を出力していくつの0があります
考え方:0-9この10の数字の積は0に制限されています.:5 x偶数.偶数の個数は5の個数よりはるかに多い.だから私たちはこの数の階乗の中ですべての数が分解された後にいくつかの5があることを計算すればいいです.
public class Num1 {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        Long n = in.nextLong();
        long num = 0;
        long tempNum = 5;
        while (true){
            if (n > tempNum){
                num = num + n/tempNum;
                tempNum = tempNum * 5;
                continue;
            }
            break;
        }
        System.out.println(num);
    }
}

最適化:サイクル中の継続x 5は、初期値を入力に変更し、毎回/5に反復することができます.より大きな数の問題を回避できます(コード内のループ時に最後の終了条件が境界を越える可能性があります)