Menu
CoddyTech

Steps to Reduce a Number to Zero

負でない整数 n から始め、0 に達するまで次の規則を繰り返します。数が偶数なら 2 で割り、奇数なら 1 を引きます。規則を適用するたびに1ステップと数えます。かかるステップ数を返してください。

関数

numberOfSteps(n: integer) → integer
ninteger
開始数
戻り値integer
数が0になるまでのステップ数

制約

  • 0 ≤ n ≤ 231 - 1

例

入力
n = 14
出力
6
説明
数値は14 → 7 → 6 → 3 → 2 → 1 → 0と進みます。半分にする操作が3回、引き算が3回で、合計6ステップです。
challenge icon

発展問題

奇数も1増やせるとします。0に到達するための最小のステップ数はいくつですか。また、15の場合、どの選択が正しいですか?

コードをリセット
def numberOfSteps(n):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

n = 14

期待される出力

6