/*
* POJ_1207.cpp
*
* Created on: 2013年10月24日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int a, b;
while (scanf("%d%d", &a, &b) != EOF) {
int x,y;
//注意 :前一个数可能会比后一个数大,在这里需要处理一下,但输出时原样输出
if(a > b){
x = b;
y = a;
}else{
x = a;
y = b;
}
int n;
int max = 0;
for (n = x; n <= y; ++n) {
int counter = 1;
int m = n;
while (m != 1) {
counter++;
if (m % 2 == 0) {
m /= 2;
} else {
m = 3 * m + 1;
}
}
if (counter > max) {
max = counter;
}
}
printf("%d %d %d\n",a,b,max);
}
return 0;
}
(简单模拟2.4.2)POJ 1207 The 3n + 1 problem(直叙式模拟——输入时前一个数可能比后一个数要大,但输出时原样输出)
最新推荐文章于 2021-11-16 20:54:32 发布