7 7 漢諾塔問題 c 解決

2021-10-13 10:04:00 字數 986 閱讀 1028

漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片**圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,並且規定:在小圓盤上不能放大圓盤,每次只能移動乙個圓盤。當所有圓盤都移到另一根柱子上時,世界就會毀滅。

題圖1.jpg

請編寫程式,輸入漢諾塔圓片的數量,輸出移動漢諾塔的步驟。

輸入格式

圓盤數 起始柱 目的柱 過度柱
輸出格式

移動漢諾塔的步驟

每行顯示一步操作,具體格式為:

碟片號: 起始柱 -> 目的柱

其中碟片號從 1 開始由小到大順序編號。

輸入樣例

3a c b

輸出樣例

1: a -> c

2: a -> b

1: c -> b

3: a -> c

1: b -> a

2: b -> c

1: a -> c

#include

using namespace std;

intprocess

(int num,

char a,

char b,

char c)

if(num ==1)

int part1=

process

(num-

1,a,c,b)

;int part2=1;

cout << num <<

": "

<< a <<

" -> "

<< c << endl;

int part3=

process

(num-

1,b,a,c)

;return part1+part2+part3;

}int

main()

漢諾塔問題 c

大致題意 有a b c三個盤子用來盛餅,餅的個頭有大有小,沒有大小完全相同的,餅在盤子中必須大個的在下面,小個的放在上面。現在 a 盤中放著 n 張薄餅,需要借助 b 盤放在 c 盤中 漢諾塔問題步驟 把a,借助b,到c 1 如果只有乙個,直接a c。2 如果不止乙個,將n 1個借助c,從a b。3...

遞迴解決漢諾塔問題

何為漢諾塔問題 漢諾塔 hanoi tower 又稱河內塔,源於印度乙個古老傳說。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,任何時候,在小圓盤上都不能放大圓盤,且在三根柱子之間...

遞迴解決漢諾塔問題

漢諾塔 漢諾塔 又稱河內塔 問題是源於印度乙個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動乙個圓盤。c語言實...