- //这题是很基础的题目!但上级比赛时忽略了一点,总是导致wrong,哎!遗憾!!
- #include<iostream>
- using namespace std;
- #define MAX 10000 int main()
- {
- int cy[MAX];
- int num1,num2; cy[0]=0; cy[1]=1;
- for(int i=2;i<MAX;i++)
- {
- int c=1; int n=i;
- while(true)
- {
- if(n<i)
- {
- c--;
- c+=cy[n];
- cy[i]=c;
- break;
- }
- else
- {
- if(n%2==0)
- n=n/2;
- else
- n=3*n+1;
- c++;
- }
- }
- }
- while(cin>>num1>>num2)
- {
- int max=0; if(num1<num2)
- {
- for(int i=num1;i<=num2;i++)
- {
- if(cy[i]>max) max=cy[i];
- }
- }
- else
- {
- for(int i=num2;i<=num1;i++)
- {
- if(cy[i]>max) max=cy[i];
- }
- }
- cout<<num1<<" "<<num2<<" "<<max<<endl;
- }
- return 0;
- }
posted @
2013-01-13 10:05
哥的笑百度不到
阅读(
134)
评论()
编辑
收藏
举报