蓝桥杯每周一题之1 3n+1问题

简介: 蓝桥杯每周一题之1 3n+1问题

每周一题之1 3n+1问题

PC/UVa IDs: 110101/100

Popularity: A

Success rate: low Level: 1

测试地址:

https://vjudge.net/problem/UVA-100

[问题描述]

考虑如下的序列生成算法:从整数 n 开始,如果 n 是偶数,把它除以 2;如果 n 是奇数,把它乘 3 加1。用新得到的值重复上述步骤,直到 n = 1 时停止。例如,n = 22 时该算法生成的序列是:

22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1

人们猜想(没有得到证明)对于任意整数 n,该算法总能终止于 n = 1。这个猜想对于至少 1 000 000内的整数都是正确的。

对于给定的 n,该序列的元素(包括 1)个数被称为 n 的循环节长度。在上述例子中,22 的循环节长度为 16。输入两个数 i 和 j,你的任务是计算 i 到 j(包含 i 和 j)之间的整数中,循环节长度的最大值。

[输入]

输入每行包含两个整数 i 和 j。所有整数大于 0,小于 1 000 000。

[输出]

对于每对整数 i 和 j,按原来的顺序输出 i 和 j,然后输出二者之间的整数中的最大循环节长度。这三个整数应该用单个空格隔开,且在同一行输出。对于读入的每一组数据,在输出中应位于单独的一行。

[样例输入]

1 10

100 200

201 210

900 1000

[样例输出]

1 10 20

100 200 125

201 210 89

900 1000 174

package 蓝桥;
import java.util.Scanner;
public class main {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scanner=new Scanner(System.in);
    long l,r,max=-1;//注意使用long
    l=scanner.nextLong();
    r=scanner.nextLong();
    long j=l,k=r;//备份   l,r;
    while (l<=r) {//遍历,求l到r每个数的循环节长度
      long x=l,temp=0;
      while(true) {
        if (x==1) {
          temp++;//当值变为1时,跳出循环,注意1也包含在循环节中所以temp++
          break;
        }
        else if(x%2==0) {
          x/=2;
        }
        else {
          x*=3;
          x++;
        }
        temp++;
      }
      if (temp>max) {
        max=temp;
      }
      l++;
    }
    System.out.println(j+" "+k+" "+max);
  }
}


相关文章
|
11月前
|
移动开发 Shell
蓝桥杯:2020 国赛 例题:天干地支
蓝桥杯:2020 国赛 例题:天干地支
61 0
|
2月前
蓝桥杯动态规划每日一题
蓝桥杯动态规划每日一题
|
2月前
|
算法
OJ刷题:杨氏矩阵
OJ刷题:杨氏矩阵
10 0
|
3月前
|
C语言
蓝桥杯练习题
蓝桥杯练习题包括6道C语言编程题:1. 判断三位数是否为水仙花数;2. 输出区间质因数分解;3. 将秒转换为&#39;H:M:S&#39;格式;4. 判断闰年;5. 删除可被整除元素并排序数组,数字转字母;6. 分类比较两个字符串关系。每题涉及不同逻辑操作,适合编程初学者练习。
31 3
|
3月前
|
测试技术
题目1444:蓝桥杯2014年第五届真题斐波那契
题目1444:蓝桥杯2014年第五届真题斐波那契
46 0
|
3月前
|
机器学习/深度学习 算法
蓝桥杯正确的解题姿势
蓝桥杯正确的解题姿势
|
算法
《蓝桥杯每日一题》二分·AcWing 1460. 我在哪?
《蓝桥杯每日一题》二分·AcWing 1460. 我在哪?
46 0
|
算法 决策智能
acwing蓝桥杯 - 数学知识【下】
acwing蓝桥杯 - 数学知识【下】
|
机器学习/深度学习 存储 人工智能
AcWing - 蓝桥杯集训每日一题(DAY 1——DAY 5)
AcWing - 蓝桥杯集训每日一题(DAY 1——DAY 5)
AcWing - 蓝桥杯集训每日一题(DAY 1——DAY 5)
|
机器学习/深度学习 存储 容器
AcWing - 蓝桥杯集训每日一题(DAY 6——DAY 10)
一个二叉树,树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。
AcWing - 蓝桥杯集训每日一题(DAY 6——DAY 10)