0デジタルへの操作の数

住所:https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero/

<?PHP 

/ * * 
あなたは0に必要なステップ数にそれを戻しなさいます、あなたの非負整数NUMを与えます。そうでない場合は、マイナス1;現在の数が偶数である場合は、2で割りする必要があります。
実施例1:

入力:NUM = 14 
出力:6 
説明:
ステップ1)14は、2 7によって、偶数です。
ステップ2)7が奇数で、マイナス1は、6を得ました。
ステップ3)図6は、2 3によって、偶数です。
工程4)3が奇数で、マイナス1は、2を得ました。
ステップ5)2 2 1、偶数です。
ステップ6は、1)0を引いた奇数1、です。
実施例2:

入力:NUM = 8 
出力:4の
説明:
ステップ1)2によって8、4の偶数です。
ステップ2)図4は、2×2の、偶数です。
ステップ3)2 2 1、偶数です。
ステップ4は、1)0を引いた奇数1、です。
実施例3:

入力:NUM = 123 
出力:12 
 

ヒント:

0 <NUM = <= 10 6 ^ 
 * / 
クラスソリューション{
     / ** 
     * @Param整数$ NUM 
     * @return整数
     * / 
    関数 numberOfSteps($ NUM ){
         $ I = 0 しばらく$ NUM > 0 ){
             $ I ++ ;
//             $ NUM = $ NUM%2 == 0?$ NUM / 2 - $ NUM。1 //方式

                $ NUM = $ NUM&1?- 確かに$$か / 2;    // 方式2 
        }
         を返す $ Iを
    } 
} 

$テスト = 新しい溶液()。
$かどうか= 14 ;
//は
 エコー $テスト - > numberOfSteps($ numは)。

 

おすすめ

転載: www.cnblogs.com/8013-cmf/p/12553675.html