當move()中n=3時,為什么結果不一樣?3和4有什么區別
當move()中n=3時,
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C雖然n=3但是n-1=2,應該也是先:A-->B,A-->C,B-->C.
3和4有什么區別嗎???
當move()中n=3時,
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C雖然n=3但是n-1=2,應該也是先:A-->B,A-->C,B-->C.
3和4有什么區別嗎???
2016-08-17
舉報
2016-10-24
你這兩個結果其實是一樣的,區別在于你的盤子原來在哪個塔上,要移動到哪個塔上。第一個結果表示你借助B把A上的兩個盤子移動到C上,第二個結果是你借助C把A上的兩個盤子移動到B上。這個要遞歸的函數參數順序不同輸出也就不同,但實際上并沒有區別啊,你把你初始輸入參數順序調一下就對了。
2016-08-17
這個題目講的不是很清楚,n = 3 和n = 4 當然是不一樣的,漢諾伊塔要求在移動過程中,要一直保持小盤子始終落在大盤子的上方。每次只能移動一個盤子,最初的狀態是n個盤子上面小下面大依次放在a上的。不知道你疑惑的點是不是這個。如果還不懂,可以問我。