小黄鸭


私信TA

用户名:3026035059

访问量:1062

签 名:

等  级
排  名 7403
经  验 1316
参赛次数 4
文章发表 2
年  龄 0
在职情况 学生
学  校 新疆大学
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include<iostream>

#include<algorithm>

//本体需要注意的是输入i,j的值需要比较大小

//temp在后边的运算中会产生很大的数据故int 类型会数据溢出

//另外不要尝试用数组 因为数组元素的个数可能会过多是内存不够 本人就是卡在这个地方好久 

using namespace std;

int main()

{

int a,b,t=0;

while(scanf("%d%d",&a,&b)!=EOF){

cout<<a<<" "<<b<<" ";

long long temp,j=0,max=1;

    if(a>b)

    {

    t=a;

    a=b;

    b=t;

}

  for(int i=a;i<=b;i++) //从a开始到b逐个进行判定比较 通过中间的max变量不断更新最大的循环数据 

  {

  int flag=1;

  temp=i;

  while(temp!=1){

  if(temp%2==0)  temp/=2;

  else temp=temp*3+1;

  flag++;

}

if(max<=flag)

max=flag;

    }

cout<<max<<endl;

 }

}


 

0.0分

2 人评分

  评论区

我也是在这翻车了,谢谢大佬
2022-04-01 01:22:07
  • «
  • 1
  • »