醜いの数オファー安全性を証明するために - 徹底的-python


タイトル説明

これは、2、3及び5は醜い(醜い数)と呼ばれる素因数の数のみを含んでいます。それは7個の素因数が含まれているため、例えば6,8は、14醜いではなく、いくつかあります。伝統的に、我々は最初の醜い数として1を持っています。N醜い多数配列を通して上昇を求めます。

アイデア:醜いの各列のシーケンス番号は、次の番号が醜い見つけます

アレイ内の醜い次数が醜いA * 2、B *最小3、C * 5となる分の一定数を有していなければなりません。
分析:その数が2よりも大きい後* 2のその数が少ない醜いの現在の最大数よりも前の配列に*、現在の醜いの最大数、均等M3、M5を数醜いM2を有していなければなりません
 
クラスソリューション:
     デフGetUglyNumber_Solution(自己、インデックス):
        ここに書き込みコード
        であれば、インデックス<1 リターン0
        RES = [1 ]
        T2 = T3 = T5 = 0

        nextdex = 1
         しばらく nextdex < インデックス:
            minNum =分(RES [T2] * 2、無[T3] * 3、無[T5] * 5 
            res.append(少ないです)

            ペースまたは小さいが、考慮の各々の数取られる
            IF RES [T2]を* 2 <= minNum。
                T2 + = 1
             なら [T3] * 3 <= RES minNum。
                T3 + = 1
             なら [T5] * 5 <= RES minNum。
                T5 + 1 =

            nextdex + = 1

        リターン RES [nextdex - 1]

 

おすすめ

転載: www.cnblogs.com/ansang/p/12053123.html