题目:给定a和b两个整数,找到a到b之间(包括a,b)所有数中最大的步数。步数:如果该数为奇数,那么该数*3+1,如果该数为偶数,那么该数/2,一直循环,直到该数=1。
心得:
1、和以前课上做过的一题一样,要注意所给两数的大小关系
2、在输出时要按照一开始的顺序输出i和j
代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,sum,s,i,t;
while(cin>>a>>b)
{
int c=a,d=b;
if(a>b)
swap(a,b);
for(i=a,s=0;i<=b;i++)
{
sum=1,t=i;
while(t!=1)
{
if(t%2==0)
t/=2;
else
t=t*3+1;
sum++;
}
if(sum>s)
s=sum;
}
cout<<c<<' '<<d<<' '<<s<<endl;
}
}