問題文
問題文はこちらにあります。
Online Judge
Online Judge
問題は一定のアルゴリズムに沿って計算して、1になるまで繰り返す。
その計算結果の中から最大ループ数を表示させるのが答えです。
サンプルコード
cpe/一顆星/uva100/01.cpp at main · mintson0517/cpe
Contribute to mintson0517/cpe development by creating an account on GitHub.
コードの解説
while (cin >> a >> b) {
int max_count = 0;
for (int i = min(a, b); i <= max(a, b); i++) {
int num = i;
int count = 1;
while (num != 1) {
if (num % 2 == 1) {
num = 3 * num + 1;
} else {
num = num / 2;
}
count++;
}
max_count = max(max_count, count);
}
cout << a << " " << b << " " << max_count << endl;
}
今回のアルゴリズム計算は奇数の場合は3n+1,偶数の場合はn/2をします。
1になるまでのループ回数をCountで数えて、max_countの所で現段階の最大と今のループと比べます。
最大であればmax_countに変えます。
最後にa, b, max_countを表示して終わります。