住所: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は)。