正の整数 n に対して、次の操作を n が 1 になるまでくり返します。
n が偶数なら → 2 で割るn が奇数なら → 3 倍して 1 を足す(3n + 1)n が 1 になるまでの操作回数を出力してください。
(どんな数からでも必ず 1 にたどり着くと予想されている、有名な未解決問題「コラッツ予想」です。)
| 入力 | 出力 | 途中経過 |
|---|---|---|
1 | 0 | はじめから1 |
3 | 7 | 3→10→5→16→8→4→2→1 |
while (n != 1) { ... }n % 2 == 0 なら n /= 2;、そうでなければ n = 3 * n + 1;+1 します。n = 1 のときは0回。