这是代码:
#include <iostream>
#include <cmath>
using namespace std;
long long int problem(long long int);
int counter = 0;
int main()
{
int i, j;
while(cin >> i >> j){
int max = 0;
if(i > j){
int temp = i;
i = j;
j = temp;
}
for(long long int count = i; count <= j; count++){
counter = 1;
problem(count);
if(counter > max) max = counter;
}
cout << i << " " << j << " " << max << endl;
}
return 0;
}
long long int problem(long long int n)
{
if(n == 1){
}
else
{
if(n % 2 == 1){
counter++;
return problem(3 * n+1);
}else{
counter++;
return problem(n/2);
}
}
}
我尝试了UVa提供的每个输入并获得正确的输出, 然而,UVa仍然让我回答错误答案&#34;。
非常感谢!
答案 0 :(得分:1)
您的计划没问题。 只需打印输入中出现的数字即可。那就是:
输入:10 5
正确输出:10 5 20
您的输出:5 10 20