#include <stdio.h>
/*
1. n が偶数なら n → n / 2
2. n が奇数なら n → 3n + 1
この操作を繰り返し,
1 に到達するまでの回数を K(n) とする。
問題文から関数のKを使用
整数を返すint
*/
int K(int n) {
// 操作回数を保存する変数 最初は何もやっていないので0
int count = 0;
// n が 1 になるまで繰り返す 操作を繰り返すからwhile文を使用
while (n != 1) {
// n が偶数の場合
if (n % 2 == 0) {
n = n / 2;
}
// n が奇数の場合
else {
n = 3 * n + 1;
}
// 操作を1回行ったので回数を増やす
count++;
}
// 求めた操作回数を返す
return count;
}
int main(void) {
int n;
// 文字を画面に表示する
// タイトルとデータを見やすく区切るための線
/*
n = 1 から 100 までについて
K(n) を計算して表示する
*/
for (n = 1; n <= 100; n++) {
printf("%3d\t%3d\n", n
, K
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8qCiAgICAxLiBuIOOBjOWBtuaVsOOBquOCiSBuIOKGkiBuIC8gMgogICAgMi4gbiDjgYzlpYfmlbDjgarjgokgbiDihpIgM24gKyAxCgogICAg44GT44Gu5pON5L2c44KS57mw44KK6L+U44GX77yMCiAgICAxIOOBq+WIsOmBlOOBmeOCi+OBvuOBp+OBruWbnuaVsOOCkiBLKG4pIOOBqOOBmeOCi+OAggogICAgCiAgICDllY/poYzmlofjgYvjgonplqLmlbDjga5L44KS5L2/55SoCiAgICDmlbTmlbDjgpLov5TjgZlpbnQKKi8KaW50IEsoaW50IG4pIHsKCSAvLyDmk43kvZzlm57mlbDjgpLkv53lrZjjgZnjgovlpInmlbDjgIDmnIDliJ3jga/kvZXjgoLjgoTjgaPjgabjgYTjgarjgYTjga7jgafvvJAKICAgIGludCBjb3VudCA9IDA7CgogICAgLy8gbiDjgYwgMSDjgavjgarjgovjgb7jgafnubDjgorov5TjgZnjgIDmk43kvZzjgpLnubDjgorov5TjgZnjgYvjgol3aGlsZeaWh+OCkuS9v+eUqAogICAgd2hpbGUgKG4gIT0gMSkgewoKICAgICAgICAvLyBuIOOBjOWBtuaVsOOBruWgtOWQiAogICAgICAgIGlmIChuICUgMiA9PSAwKSB7CiAgICAgICAgICAgIG4gPSBuIC8gMjsKICAgICAgICB9CgogICAgICAgIC8vIG4g44GM5aWH5pWw44Gu5aC05ZCICiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG4gPSAzICogbiArIDE7CiAgICAgICAgfQoKICAgICAgICAvLyDmk43kvZzjgpIx5Zue6KGM44Gj44Gf44Gu44Gn5Zue5pWw44KS5aKX44KE44GZCiAgICAgICAgY291bnQrKzsKICAgIH0KICAgICAgLy8g5rGC44KB44Gf5pON5L2c5Zue5pWw44KS6L+U44GZCgogICAgcmV0dXJuIGNvdW50Owp9CgppbnQgbWFpbih2b2lkKSB7CgogICAgaW50IG47CiAgLy8g5paH5a2X44KS55S76Z2i44Gr6KGo56S644GZ44KLCiAgICBwcmludGYoIiBuXHRLKG4pXG4iKTsKICAgICAgLy8g44K/44Kk44OI44Or44Go44OH44O844K/44KS6KaL44KE44GZ44GP5Yy65YiH44KL44Gf44KB44Gu57eaCiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS1cbiIpOwoKICAgIC8qCiAgICAgICAgbiA9IDEg44GL44KJIDEwMCDjgb7jgafjgavjgaTjgYTjgaYKICAgICAgICBLKG4pIOOCkuioiOeul+OBl+OBpuihqOekuuOBmeOCiwogICAgKi8KICAgIGZvciAobiA9IDE7IG4gPD0gMTAwOyBuKyspIHsKCiAgICAgICAgcHJpbnRmKCIlM2RcdCUzZFxuIiwgbiwgSyhuKSk7CiAgICB9CgoJcmV0dXJuIDA7Cn0K