問題一覧 > 通常問題

No.2241 Reach 1

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 125
作問者 : shobonvip / テスター : noya2 👑 Nachia
7 ProblemId : 9135 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-03-10 20:04:08

問題文

22 以上の整数 NN が与えられます。変数 mm があり、最初は m=Nm=N です。

あなたはこの変数に対して、11 回の操作で次のいずれかを行うことができます。

  1. m/2km/2^k が整数となるような負でない整数 kk を選び、mmm/2km/2^k に置き換える
  2. 正の整数 kk を選び、mmmk+1mk+1 に置き換える

あなたの目標は、できるだけ少ない操作回数で m=Nm=N の状態から m=1m=1 にすることです。目標を達成するために必要な操作回数の最小値を答えてください。

制約

  • 2N1092 \le N \le 10^9

入力

NN

出力

m=Nm=N から m=1m=1 にするために必要な操作回数の最小値を答えてください。

なお、この制約下で目標は必ず達成でき、答えは 23112^{31}-1 以下であることが保証されます。

サンプル

サンプル1
入力
4
出力
1

最初、m=4m=4 です。

操作 1. において k=2k=2 を選ぶと、m=4/22=1m=4/2^2=1 になります。

11 回より少なく操作をすることはできないので、11 回が答えになります。

サンプル2
入力
3
出力
2

最初、m=3m=3 です。

まず、操作 2. において k=1k=1 を選ぶと、m=3×1+1=4m=3\times 1+1 = 4 になります。

次に、操作 1. において k=2k=2 を選ぶと、m=4/22=1m=4/2^2=1 になります。

22 回より少ない操作回数で m=1m=1 にすることはできないので、22 回が答えになります。

サンプル3
入力
6
出力
3

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。