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

作者:junjie 时间:2022-06-06 04:45:25 


/**
* 考拉兹猜想: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,数据结构,算法,考拉兹猜想,Collatz,Conjecture
0
投稿

猜你喜欢

  • Java生成word文档的示例详解

    2022-02-11 19:37:47
  • 一文带你了解RabbitMQ消息转换器

    2023-11-15 23:22:28
  • 完整的iOS新浪微博分享功能开发

    2023-06-24 14:14:08
  • mybatis-plus 新增/修改如何实现自动填充指定字段

    2023-11-28 22:20:53
  • 一篇文章弄懂kotlin的扩展方法

    2022-06-05 08:06:20
  • shiro之记住登录信息

    2023-03-06 18:39:13
  • C#创建Excel多级分组的方法

    2022-03-21 15:20:34
  • Java编程之文件读写实例详解

    2022-01-27 11:13:40
  • Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例

    2023-10-15 23:17:36
  • java多线程之停止线程的方法实例代码详解

    2023-03-23 04:35:21
  • Spring注解驱动之BeanDefinitionRegistryPostProcessor原理解析

    2023-11-24 23:24:21
  • C#使用foreach循环遍历数组完整实例

    2021-12-27 15:10:33
  • ShardingSphere解析SQL示例详解

    2023-11-23 13:57:55
  • C#中的const和readonly关键字详解

    2023-02-21 17:44:22
  • java编程实现根据EXCEL列名求其索引的方法

    2022-04-24 03:08:03
  • C# 动态调用WebService的示例

    2023-07-04 05:40:20
  • 小程序与后端Java接 口交互实现HelloWorld入门

    2023-11-04 18:55:31
  • 浅析JAVA中的内存结构、重载、this与继承

    2023-09-24 19:15:07
  • Java Socket通信之聊天室功能

    2022-02-04 11:47:35
  • 基于JAVA文件中获取路径及WEB应用程序获取路径的方法

    2022-08-21 01:26:57
  • asp之家 软件编程 m.aspxhome.com