「コラッツ予想」という数学の未解決問題があります。これは、どんな自然数であっても「奇数なら \(3\) 倍し、\(1\) を足す。偶数なら \(2\) で割る。」という『操作』を何度も繰り返すと、いつかは必ず \(1\) になるという予想です。
自然数 \(n\) が与えられるので、それが \(1\) になるまでに必要な『操作』の回数を返すメソッド collatz
を作成してください。
collatz(n)
\(n\) が \(1\) になるまでに必要な『操作』の最低回数を return
せよ。
collatz(5)
5
5
\(5 → 16 → 8 → 4 → 2 → 1\) と、\(5\) 回の『操作』で \(1\) になります。
collatz(7)
7
16
collatz(1)
1
0
最初から \(1\) であれば『操作』は一回も必要ないので、つまり『操作』は \(0\) 回ということになります。
27
111
55
112
実行結果: