コラッツ予想 - OnBrowser Judge サンプル (Ruby)


問題文

「コラッツ予想」という数学の未解決問題があります。これは、どんな自然数であっても「奇数なら \(3\) 倍し、\(1\) を足す。偶数なら \(2\) で割る。」という『操作』を何度も繰り返すと、いつかは必ず \(1\) になるという予想です。

自然数 \(n\) が与えられるので、それが \(1\) になるまでに必要な『操作』の回数を求めてください。

制約


入力

入力は以下の形式で標準入力から与えられる。
\(n\)

出力

\(n\) が \(1\) になるまでに必要な『操作』の最低回数を整数で出力せよ。


入力例1

5

出力例1

5

\(5 → 16 → 8 → 4 → 2 → 1\) と、\(5\) 回の『操作』で \(1\) になります。


入力例2

7

出力例2

16

入力例3

1

出力例3

0

最初から \(1\) であれば『操作』は一回も必要ないので、つまり『操作』は \(0\) 回ということになります。


27
111
55
112

実行結果: