首页 > 编程 > Java > 正文

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

2019-11-26 15:08:06
字体:
来源:转载
供稿:网友
/**  * 考拉兹猜想: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);       }     }   } } 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表