题意分析:在输入的两个数之间找到循环次数最大的数所对应的次数,
循环要求,若为奇数,乘3后加1,若为偶数,除以2,直到1为止。
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
int A(int a)
{
int n=0;
while(a-1) //使用三目运算符进行判断,循环直到1为止
{
a=a%2?(a*3+1):(a/2);
n++;
}
return ++n;
}
int main()
{
int a,b,i,Max;
while(cin>>a>>b)
{
Max=0;
cout<<a<<" "<<b<<" ";
for(i=a;i<=b;i++)
if(A(i)>Max)
Max=A(i);
cout<<Max<<endl;
}
return 0;
}