java求解漢諾塔問(wèn)題示例
思路如下:
要實(shí)現(xiàn)3階漢諾塔的求解步驟,也就是說(shuō)初始狀態(tài)時(shí),A上從上到下有三個(gè)盤(pán)子,分別為1號(hào)盤(pán)、2號(hào)盤(pán)和3號(hào)盤(pán),其中1號(hào)盤(pán)最小,3號(hào)盤(pán)最大;
判斷剩余盤(pán)子個(gè)數(shù),如果只有一個(gè)盤(pán)子就退出迭代,如果有大于一個(gè)盤(pán)子就繼續(xù)迭代。
代碼如下:
public class HanoiTower {
public static void moveDish(int level, char from, char inter, char to) {
if (level == 1) {// 如果只有一個(gè)盤(pán)子就退出迭代
System.out.println("從 " + from + " 移動(dòng)盤(pán)子 1 號(hào)到 " + to);
} else {// 如果有大于一個(gè)盤(pán)子就繼續(xù)迭代
moveDish(level - 1, from, to, inter);
System.out.println("從 " + from + " 移動(dòng)盤(pán)子 " + level + " 號(hào)到 " + to);
moveDish(level - 1, inter, from, to);
}
}
public static void main(String[] args) {
int nDisks = 3;// 設(shè)置漢諾塔為3階
moveDish(nDisks, 'A', 'B', 'C');// 實(shí)現(xiàn)移動(dòng)算法
}
}
相關(guān)文章
springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢(xún)功能(注解方式)
這篇文章主要介紹了springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢(xún)功能,是最簡(jiǎn)單的一種注解方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
解決IDEA中快捷鍵Alt+Enter不能使用的問(wèn)題
這篇文章主要介紹了解決IDEA中快捷鍵Alt+Enter不能使用的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
關(guān)于Controller層和Service層的類(lèi)報(bào)錯(cuò)問(wèn)題及解決方案
這篇文章主要介紹了關(guān)于Controller層和Service層的類(lèi)報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Netty4之如何實(shí)現(xiàn)HTTP請(qǐng)求、響應(yīng)
這篇文章主要介紹了Netty4之如何實(shí)現(xiàn)HTTP請(qǐng)求、響應(yīng)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Java網(wǎng)絡(luò)編程UDP協(xié)議發(fā)送接收數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程UDP協(xié)議發(fā)送接收數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
基于mybatis高級(jí)映射多對(duì)多查詢(xún)的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇基于mybatis高級(jí)映射多對(duì)多查詢(xún)的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
IDEA中沒(méi)有Mapper.xml模板選項(xiàng)的處理方法
這篇文章主要介紹了IDEA中沒(méi)有Mapper.xml模板選項(xiàng)的處理方法,需其實(shí)解決方法很簡(jiǎn)單,只需要在idea中導(dǎo)入模板即可,本文圖文的形式給大家分享解決方法,需要的朋友可以參考下2021-04-04

