階乗ゼロ機能のPythonの793プレイメージサイズでLeetCode

F(x)は、xの端部におけるゼロの数とします!(= * 3 * 2 1 * ... * X!そのXを思い出し、そして慣例により、0!= 1)

例えば、fは(3)0ので、3を=!= 6は、末尾にゼロを有していない一方、F(11)= 2 11なぜなら!= 39916800は、端部において2ゼロを有しています。Kを考えると、xはf(x)が= K.性質を持っているどのように多くの非負整数見つけます

実施例1:
入力:K = 0
出力:5
説明:0!1!2!3!と4!K = 0ゼロで終わります。

例2:
入力:K = 5
出力:0
説明:Xように、xはありません!K = 5ゼロで終わります。
注意:

Kは、範囲[0、10 ^ 9]内の整数です。

行うためのアイデアの質問によって、明確に階乗数0数回5つの変化(0〜4,5〜...... 9)、および場合、N、F(N)= Kがある場合は、必要に見つけること5が返される存在である、ゼロへの復帰はありません。先頭からN> = 4K、4Kの数学的な導出、F(N)まで毎に5ずつ> = K.

クラスのソリューション(オブジェクト):
    preimageSizeFZFデフ(自己、K):
        "" " タイプK:INT 
        :RTYPE:int型
        """ 
        #5 または0     
        
        DEF getZeroes(N):
            リターン0であれば、他のn <5 N / 5 + getZeroesは、(N / 10)

        = 4×K開始
        ゼロ= getZeroes(スタート)
        :ゼロ<Kながら
            起動+ = 5 
            ゼロ= getZeroes(開始)
        
        戻り5ゼロ==他K 0の場合

おすすめ

転載: www.cnblogs.com/lowkeysingsing/p/11285690.html