漢諾塔問(wèn)題

有三根相鄰的柱子,標(biāo)號(hào)為A,B,C,

A柱子上從下到上按金字塔狀疊放著n個(gè)不同大小圓盤(pán),

現(xiàn)在把所有盤(pán)子一個(gè)一個(gè)移動(dòng)到柱子B上,

并且每次移動(dòng)同一根柱子上都不能出現(xiàn)大盤(pán)子在小盤(pán)子上方 (如下圖)


漢諾塔游戲

設(shè)N個(gè)盤(pán)子

1.把N-1個(gè)盤(pán)子 從 A柱借助 B柱移到C柱

2.把第N個(gè)盤(pán)子 移動(dòng)到B柱

3.把N-1個(gè)盤(pán)子 從 C柱借助 A柱移到B柱

public static void main(String[] args) {

printHanoiTower(3, "A", "B", "C");

}

/**

*

* @param N 初始N個(gè)從小到大的盤(pán)子

* @param from 原始柱子 A

* @param to 目標(biāo)柱子 B

* @param help 輔助柱子 C

*/

static void printHanoiTower(int N, String from, String to, String help) {

if(N == 1) {

System.out.println("move"+N+"from"+from+"to"+to);

return;

}

printHanoiTower(N-1, from, help, to);//N-1個(gè)盤(pán)子移動(dòng)到輔助柱子上

System.out.println("move"+N+"from"+from+"to"+to);//第N個(gè)到達(dá)目標(biāo)柱子

printHanoiTower(N-1, help, to, from);//N-1個(gè)盤(pán)子借助A從C移動(dòng)到目標(biāo)柱子

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 11,043評(píng)論 0 23
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,841評(píng)論 0 10
  • 超高速音視頻編碼器用法: ffmpeg [options] [[infile options] -i infile...
    吉兇以情遷閱讀 4,816評(píng)論 0 4
  • 漢諾塔是指這個(gè): 目標(biāo)是要把所有的盤(pán)子從最左邊(柱子A)移動(dòng)到最右邊(柱子C),條件是 1)每次只能移動(dòng)一個(gè)盤(pán)子 ...
    mouse33333閱讀 3,073評(píng)論 7 8
  • 最早認(rèn)識(shí)荷花,還是很久遠(yuǎn)的童年時(shí)代。 偶爾一次,在本家叔伯家里,看到幾只紅艷粉嫩的大花,闊大的花瓣,讓人忍不住想摸...
    是梅啊閱讀 735評(píng)論 15 31

友情鏈接更多精彩內(nèi)容