大致题意:给了一段算法,求给定输入区间内算法运行最多的次数。
这题好奇怪,我之前后输出a,b和结果就是WA,但是把a和b放到前面然后又加了个return 0就奇迹般的AC了。还有在计算max的时候我把sum = 1的初始化放在了外面导致出错,都是小的错误却影响了整个程序。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
#ifdef LOCAL
freopen("input.txt", "r", stdin);
#endif
int a, b, t, max, sum, n;
while (cin >> a >> b)
{
cout << a << ' ' << b << ' ';
max = 0;
// exchange value
if (a > b) {
t = a;
a = b;
b = t;
}
for (int i = a; i <= b; ++i) {
n = i, sum = 1;
while (n != 1) {
if (n % 2)
n = 3 * n + 1;
else
n = n / 2;
sum++;
}
if (sum > max) max = sum;
}
cout << max << endl;
}
return 0;
}