Java數(shù)據(jù)結(jié)構(gòu)及算法實例:考拉茲猜想 Collatz Conjecture
更新時間:2015年06月20日 11:12:47 投稿:junjie
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:考拉茲猜想 Collatz Conjecture,本文直接給出實現(xiàn)代碼,代碼中包含詳細注釋,需要的朋友可以參考下
/**
* 考拉茲猜想:Collatz Conjecture
* 又稱為3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、烏拉姆猜想或敘拉古猜想,
* 是指對于每一個正整數(shù),如果它是奇數(shù),則對它乘3再加1,
* 如果它是偶數(shù),則對它除以2,如此循環(huán),最終都能夠得到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);
}
/**
* 至今尚未有人能證明其正確性。有趣的是,目前也尚未檢查出任何反例。
* 猜想的內(nèi)容是這樣的:有一個整數(shù),如果是偶數(shù),就除以 2 ;
* 如果是奇數(shù),就乘以 3 再加 1 。
* 一個整數(shù)不斷這樣操作下去,最後一定會變成 1 。
* 這個操作的過程就是一種迭代。
* @author
* @param param 初始輸入的數(shù)字
*/
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數(shù)據(jù)結(jié)構(gòu)與算法之中綴表達式轉(zhuǎn)為后綴表達式的方法
- Java數(shù)據(jù)結(jié)構(gòu)及算法實例:快速計算二進制數(shù)中1的個數(shù)(Fast Bit Counting)
- Java數(shù)據(jù)結(jié)構(gòu)及算法實例:冒泡排序 Bubble Sort
- Java數(shù)據(jù)結(jié)構(gòu)及算法實例:樸素字符匹配 Brute Force
- java數(shù)據(jù)結(jié)構(gòu)和算法學習之漢諾塔示例
- Java數(shù)據(jù)結(jié)構(gòu)與算法入門實例詳解
相關(guān)文章
Post請求參數(shù)是數(shù)組或者List時的請求處理方式
這篇文章主要介紹了Post請求參數(shù)是數(shù)組或者List時的請求處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
SpringBoot3.2.2整合MyBatis-Plus3.5.5依賴不兼容的問題解決
這篇文章給大家介紹了Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依賴不兼容問題,文中通過代碼示例和圖文介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-01-01
SpringBoot集成P6spy實現(xiàn)自定義SQL日志打印
本文主要介紹了SpringBoot集成P6spy實現(xiàn)自定義SQL日志打印,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
IDEA?+?Maven環(huán)境下的SSM框架整合及搭建過程
這篇文章主要介紹了IDEA?+?Maven環(huán)境下的SSM框架整合及搭建過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01

