题目链接
题目是水题,如果一直WA说明了一个问题。
题目没有说的,但是你要考虑i>j的情况。
比如说输入1 10 输出应该是 1 10 20
而输入10 1 输出应该是 10 1 20
其他没啥好说的直接贴代码了:
#include <iostream> using namespace std; int judge(int n) { int t=1; while(n!=1) { if(n%2==0) n/=2; else n=3*n+1; t++; } return t; } int main() { int i,j,count,temp; while(cin>>i>>j) { cout<<i<<" "<<j<<" "; int flag=0; if(i>j) { temp=i; i=j; j=temp; } int max=0; for(int t=i;t<=j;t++){ count=judge(t); if(max<count) max=count; } cout<<max<<endl; } return 0; }