ummmm啥也不想说.....
Consider the following algorithm:
1. input n
2. print n
3. if n = 1 then STOP
4. if n is odd then n <- 3n + 1
5. else n <- n / 2
6. GOTO 2
真的看不出来.... n <- 3n + 1的意思是 n=3n+1.....
# include<iostream>
using namespace std;
int f(int n) {
int count = 0;
for (;;) {
count++;
if (n== 1)
break;
if (n & 1) {//奇数
n = 3 * n + 1;
}
else
n /= 2;
}
return count;
}
pair<int,int> max_(int a, int b) {
return a > b ? make_pair(b,a) : make_pair(a,b);
}
int max(int a, int b) {
return a > b ? a : b;
}
int main(void) {
int i, j;
pair<int, int> l;
int ll;
int index;
while (cin >> i >> j) {
l = max_(i, j);
for (index = l.first, ll = 0; index <= l.second; index++) {
ll = max(f(index), ll);
}
cout << i << " " << j << " " << ll<<endl;
}
system("pause");
return 0;
}