类似于3n+1问题,输入两个数i和j,要求[i,j]这个闭区间内每个数在算法下的最长序列,输出i和j和这个最长序列,坑点在i和j的位置可以互换
import java.util.Scanner;
public class Main{
public static int count(int num) {
int c=1;
while(true) {
if(num==1) return c;
if(num%2!=0) {
num = 3*num+1;
}else {
num=num/2;
}
c++;
}
}
public static void main(String args[]) {
int max=0;
int m,n,x;
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
max=0;//每次循环都要初始化max
m=in.nextInt();
n=in.nextInt();
for(int i=m;i<=n;i++)
{
if((x=count(i))>max) max = x;
}
System.out.println(m+" "+n+" "+max);
}
}
}