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); } } } }