/*************************************************************************
File Name: 10322.cpp
Author: yubo
Mail: yuzibode@126.com
Created Time: 2014年04月10日 星期四 07时22分26秒
学习重点:没有比较输入数据的大小,导致WR了一次
************************************************************************/
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
int s[1000010];
void sum(int a,int b)
{
int i,j,t,k,n;
i=a;
n=0;
for(;i<=b;i++,n++){
k=0;
t=i;
while(t!=1){
if(t%2==0){
t/=2;
k++;
}
else{
t=3*t+1;
k++;
}
}
s[n]=k+1;//k从0开始,要加1
}
sort(s,s+n);//默认升序,s[n-1]就是寻找最大的的元素
printf("%d",s[n-1]);
}
int main()
{
int a,b,t;
while(scanf("%d%d",&a,&b)==2){
printf("%d %d ",a,b);
if(a>b)//保证数据健壮
{
t=a;
a=b;
b=t;
}
sum(a,b);
printf("\n");
}
}
hdu 1032
最新推荐文章于 2021-01-24 21:26:02 发布