#include <iostream>
using namespace std;
int main()
{
int n,m,k;
int max1=1;
cin>>n>>m;
for(k=n;k<=m;k++)
{
int i=k;//一定要把k给赋值出来 不然直接带k运算会影响for循环里的k
int max2=1;
while(i!=1)
{
if((i%2)==0)
{
i=i/2;
max2++;
}
else
{
i=3*i+1;
max2++;
}
}
if(max1<max2)
max1=max2;
}
cout<<max1<<endl;
}
using namespace std;
int main()
{
int n,m,k;
int max1=1;
cin>>n>>m;
for(k=n;k<=m;k++)
{
int i=k;//一定要把k给赋值出来 不然直接带k运算会影响for循环里的k
int max2=1;
while(i!=1)
{
if((i%2)==0)
{
i=i/2;
max2++;
}
else
{
i=3*i+1;
max2++;
}
}
if(max1<max2)
max1=max2;
}
cout<<max1<<endl;
}
本文介绍了一个 C++ 程序,用于计算指定范围内 Hailstone 序列的最大长度。通过用户输入的两个整数 n 和 m,程序会遍历两者之间的所有整数,并计算每个整数对应的 Hailstone 序列长度,最终输出最长的序列长度。
508

被折叠的 条评论
为什么被折叠?



