您的位置:首页 > 其它

杭电1032

2016-03-30 20:49 471 查看
千万注意没说n<=m,大于时要交换,但是每次输出要输出原来的顺序,所以应该先输出,又没注意,WA了2次。

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long n,m,i,j,temp;
long long Max,num;
while(~scanf("%I64d%I64d",&n,&m))
{	Max=0;
cout<<n<<" "<<m<<" ";	//先输出
if(n>m)		//此时要交换
{
temp=n;
n=m;
m=temp;
}
for(j=n;j<=m;j++)
{
i=j;
num=1;
while(i!=1)
{
if(i%2==0)i=i/2;
else i=3*i+1;
num++;
}
if(Max<num)Max=num;
}
cout<<Max<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: