程序可以运行,楼主题目全英文我看不懂。按题目输入数字,运行结果和答案一样,但是排列和答案不一样,下面是修改后代码(为了便于排错,我把代码风格改为我习惯的):
#include
int main()
{
int c;
long i, j, max, num, q, k;
while (scanf ("%ld%ld",&i,&j) != EOF)
{
if ((i > 1000000) || (j > 100000) || (i < 0) || (j < 0))
break;
if (i > j)
{
c = i;
i = j;
j = c;
}
max = 0;
for (k = i;k <= j;k++)
{
num = 1;
q = k;
while (q != 1)
{
if (q & 1)
q = q*3+1;
else
q/=2;
num++;
}
if (num > max)
max = num;
}
if (i > j)
printf("%ld %ld %ld\n", i, j, max);
else
printf("%ld %ld %ld\n", j, i, max);
}
return 0;
}