程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java數據構造及算法實例:考拉茲料想 Collatz Conjecture

Java數據構造及算法實例:考拉茲料想 Collatz Conjecture

編輯:關於JAVA

Java數據構造及算法實例:考拉茲料想 Collatz Conjecture。本站提示廣大學習愛好者:(Java數據構造及算法實例:考拉茲料想 Collatz Conjecture)文章只能為提供參考,不一定能成為您想要的結果。以下是Java數據構造及算法實例:考拉茲料想 Collatz Conjecture正文


/** 
 * 考拉茲料想: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); 
      } 
    } 
  } 
} 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved