Hanoi(汉诺)塔问题
問題描述:
Hanoi(漢諾)塔問題。古代有一個(gè)梵塔,塔內(nèi)有3個(gè)座A,B,C,開始時(shí)A座有n個(gè)盤子,盤子大小不等,大的在下,小的在上。有一個(gè)老和尚想把這n個(gè)盤子,從A座移動(dòng)到C座,但是每次只允許移動(dòng)一個(gè)盤子,且在移動(dòng)的過程中,3個(gè)座上都始終保持大盤在下,小盤在上。在移動(dòng)的過程中,可以利用B座。
要求編程打印出移動(dòng)的步驟~
問題分析:
當(dāng)有1個(gè)盤子的時(shí)候,步驟:A->C;
當(dāng)有2個(gè)盤子的時(shí)候,步驟:A->B? |? A->C? |? B->C;
當(dāng)有3個(gè)盤子的時(shí)候,步驟:A->C? |? A->B? |? C->B? |? A->C? |? B->A? |? B->C? |? A->C;
分析了以上3個(gè)盤子的移動(dòng)步驟,可以將移動(dòng)n個(gè)盤子的步驟抽象為3個(gè)大的步驟;首先,將A上的上面的n-1個(gè)盤子都移動(dòng)到B上,然后將B上的n-1個(gè)盤子移動(dòng)到C上,然后將B上的n-1個(gè)盤子移動(dòng)到C上。
示例代碼:
最后在上一個(gè)n=4的時(shí)候的截圖
晚安啦~
轉(zhuǎn)載于:https://www.cnblogs.com/zhezh/archive/2013/06/06/3773446.html
總結(jié)
以上是生活随笔為你收集整理的Hanoi(汉诺)塔问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FATAL ERROR: Could n
- 下一篇: 冬季,拿什么来温暖你的心情