输入:每行包括两个整数i,j,所有整数大于0,小于1000000
输出:按原来顺序输出i,j ,输出最大循环节长度
#include<iostream>
#include<string>
#include<stdio.h>
#define Maxsize 100 //Maxsize 为输入的数据的组数 (i,j)为一组
using namespace std;
int main()
{
long i,j,n;
long count,max=1;
int fun(int n);
for(int k=1;k<Maxsize;k++)
{
scanf("%ld %ld",&i,&j);
for(int n=i;n<=j;n++)
{
count = fun(n);
max = max >= count?max:count;
}
printf("%ld %ld %ld",i,j,max);
}
}
int fun(int n)
{ long count = 0;
while(n!=1)
{
if(n%2 == 0)
n = n/2;
else
n = 3*n+1;
count++;
}
return (count+1);
}