JAVA-1001. 害死人不偿命的(3n+1)猜想

简介: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。

卡拉兹(Callatz)猜想:

对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……

我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。

输出格式:输出从n计算到1需要的步数。

输入样例: 3

import java.util.Scanner;

public class Main{
  public static void main(String[] args) {
      int count = 0;
        Scanner sc = new Scanner(System.in);
        double n = sc.nextInt();
        while(n != 1) {
          if (n % 2 == 0) {  
            n /= 2;
          } else {
            n = (3*n+1) / 2;
          }
          count++;
        }
        System.out.println(count);
}
}
目录
相关文章
|
8月前
|
安全 Java 数据库连接
【Java每日一题】——第三十三题:思考应用题
【Java每日一题】——第三十三题:思考应用题
|
8月前
|
存储 安全 Java
【Java每日一题】——第三十二题:思考应用题
【Java每日一题】——第三十二题:思考应用题
|
算法 Java
蓝桥杯 算法提高 超级玛丽 (Java)
蓝桥杯 算法提高 超级玛丽 (Java)
100 0
|
存储 Java 测试技术
【java】前八章:快速回忆(一)
【java】前八章:快速回忆
114 0
|
Java
【java】前八章:快速回忆(三)
【java】前八章:快速回忆
103 0
|
存储 Java API
【java】前八章:快速回忆(二)
【java】前八章:快速回忆
94 0
|
Java
刷题之恼人的青蛙java(百练2812)
刷题之恼人的青蛙java(百练2812)
92 0
|
Java Spring
Java || 看了大二学长写的代码,我竟开始默默的模仿了。。。
Java || 看了大二学长写的代码,我竟开始默默的模仿了。。。
105 0
老师,我学的是假java吗?╥﹏╥...
老师,我学的是假java吗?╥﹏╥...
|
Java
【蓝桥Java每日一题】——11.做菜顺序(贪心秒杀困难题)
今天给大家带来一道级别是困难的力扣题,但是利用贪心思想我们可以很快速地做出来,甚至称之为简单题也不为过,可见贪心之强大
216 0