#include <stdio.h>
/*
関数 K(n)
n が 1 になるまでの操作回数を返す
*/
int K(int n) {
int count = 0;
while (n != 1) {
// n が偶数の場合
if (n % 2 == 0) {
n = n / 2;
}
// n が奇数の場合
else {
n = 3 * n + 1;
}
// 操作回数を増やす
count++;
}
return count;
}
int main(void) {
int n;
// n = 1 から 100 まで調べる
for (n = 1; n <= 100; n++) {
// K(n) を表示
printf("%3d\t%3d\n", n
, K
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKgogIOmWouaVsCBLKG4pCiAgbiDjgYwgMSDjgavjgarjgovjgb7jgafjga7mk43kvZzlm57mlbDjgpLov5TjgZkKKi8KaW50IEsoaW50IG4pIHsKCiAgICBpbnQgY291bnQgPSAwOwoKICAgIHdoaWxlIChuICE9IDEpIHsKCiAgICAgICAgLy8gbiDjgYzlgbbmlbDjga7loLTlkIgKICAgICAgICBpZiAobiAlIDIgPT0gMCkgewogICAgICAgICAgICBuID0gbiAvIDI7CiAgICAgICAgfQoKICAgICAgICAvLyBuIOOBjOWlh+aVsOOBruWgtOWQiAogICAgICAgIGVsc2UgewogICAgICAgICAgICBuID0gMyAqIG4gKyAxOwogICAgICAgIH0KCiAgICAgICAgLy8g5pON5L2c5Zue5pWw44KS5aKX44KE44GZCiAgICAgICAgY291bnQrKzsKICAgIH0KCiAgICByZXR1cm4gY291bnQ7Cn0KCmludCBtYWluKHZvaWQpIHsKCiAgICBpbnQgbjsKCiAgICBwcmludGYoIiBuXHRLKG4pXG4iKTsKICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLVxuIik7CgogICAgLy8gbiA9IDEg44GL44KJIDEwMCDjgb7jgafoqr/jgbnjgosKICAgIGZvciAobiA9IDE7IG4gPD0gMTAwOyBuKyspIHsKCiAgICAgICAgLy8gSyhuKSDjgpLooajnpLoKICAgICAgICBwcmludGYoIiUzZFx0JTNkXG4iLCBuLCBLKG4pKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=