Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture

 更新时间:2015年06月20日 11:12:47   投稿:junjie  
这篇文章主要介绍了Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture,本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

/** 
 * 考拉兹猜想:Collatz Conjecture 
 * 又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想, 
 * 是指对于每一个正整数,如果它是奇数,则对它乘3再加1, 
 * 如果它是偶数,则对它除以2,如此循环,最终都能够得到1。 
 */ 
package al; 
public class CollatzConjecture { 
  private int i = 1; 
  public static void main(String[] args) { 
    long l = 9999999; 
    System.out.println("l is "+ l); 
    CollatzConjecture cc = new CollatzConjecture(); 
    cc.Collatz(l); 
  } 
   
  /** 
   * 至今尚未有人能證明其正確性。有趣的是,目前也尚未檢查出任何反例。 
   * 猜想的內容是這樣的:有一個整數,如果是偶數,就除以 2 ; 
   * 如果是奇數,就乘以 3 再加 1 。 
   * 一個整數不斷這樣操作下去,最後一定會變成 1 。 
   * 這個操作的過程就是一種迭代。 
   * @author 
   * @param param 初始输入的数字 
   */ 
  private void Collatz(long param) {    
    System.out.println("After " + i + " time we get result " + param); 
    if(param > 1) { 
      i++; 
      if (param%2 == 0) { 
        Collatz(param/2);         
      } else { 
        Collatz(3*param + 1); 
      } 
    } 
  } 
} 

相关文章

  • java中gradle项目报错org.gradle?.api.plugins.MavenPlugin解决办法

    java中gradle项目报错org.gradle?.api.plugins.MavenPlugin解决办法

    在使用Gradle时开发者可能会遇到org.gradle?.api.plugins.MavenPlugin报错提醒,这篇文章主要给大家介绍了关于java中gradle项目报错org.gradle?.api.plugins.MavenPlugin的解决办法,需要的朋友可以参考下
    2023-12-12
  • 解决mybatis-generator生成Mapper文件没有Selective结尾的问题

    解决mybatis-generator生成Mapper文件没有Selective结尾的问题

    这篇文章主要介绍了解决mybatis-generator生成Mapper文件没有Selective结尾的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • spring?retry方法调用失败重试机制示例解析

    spring?retry方法调用失败重试机制示例解析

    这篇文章主要为大家介绍了spring?retry方法调用失败重试机制的示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • 分析Netty直接内存原理及应用

    分析Netty直接内存原理及应用

    Netty作为一个流行的应用框架,它的强悍之处是性能强悍,可以轻松承载数万并发; 其编程模型简单,容易上手; 这就给大家打开了一扇通向高性能的大门。高效io模型略去不说,我们今天主要来看看内存控制这块的强大之处
    2021-06-06
  • 基于Java实现文件和base64字符串转换

    基于Java实现文件和base64字符串转换

    这篇文章主要介绍了基于Java实现文件和base64字符串转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • elasticsearch集群cluster?discovery可配式模块示例分析

    elasticsearch集群cluster?discovery可配式模块示例分析

    这篇文章主要为大家介绍了elasticsearch集群cluster?discovery可配式模块示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Spring Cache使用RedisCache案例解析

    Spring Cache使用RedisCache案例解析

    这篇文章主要介绍了Spring Cache使用RedisCache案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • java通过HTTP接收json详细实例代码

    java通过HTTP接收json详细实例代码

    Java作为一门广泛使用的编程语言,很多开发人员会用它来进行http请求,获取json数据,这篇文章主要给大家介绍了关于java通过HTTP接收json的相关资料,需要的朋友可以参考下
    2023-11-11
  • SpringBoot整合MongoDB实现文件上传下载删除

    SpringBoot整合MongoDB实现文件上传下载删除

    这篇文章主要介绍了SpringBoot整合MongoDB实现文件上传下载删除的方法,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-05-05
  • java中将一个实体类复制到另一个实体类的3种方法示例

    java中将一个实体类复制到另一个实体类的3种方法示例

    这篇文章主要给大家介绍了关于java中将一个实体类复制到另一个实体类的3种方法,所谓实体类就是一个拥有Set和Get方法的类,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论

?


http://www.vxiaotou.com