python漢諾塔任務中的題目
任務:
我們對柱子編號為a, b, c,將所有圓盤從a移到c可以描述為:
如果a只有一個圓盤,可以直接移動到c;
如果a有N個圓盤,可以看成a有1個圓盤(底盤) + (N-1)個圓盤,首先需要把 (N-1) 個圓盤移動到 b,然后,將 a的最后一個圓盤移動到c,再將b的(N-1)個圓盤移動到c。
問題: ?最后的 b的(n-1)為什么不移到a,要移到c?
任務:
我們對柱子編號為a, b, c,將所有圓盤從a移到c可以描述為:
如果a只有一個圓盤,可以直接移動到c;
如果a有N個圓盤,可以看成a有1個圓盤(底盤) + (N-1)個圓盤,首先需要把 (N-1) 個圓盤移動到 b,然后,將 a的最后一個圓盤移動到c,再將b的(N-1)個圓盤移動到c。
問題: ?最后的 b的(n-1)為什么不移到a,要移到c?
2017-12-07
舉報
2017-12-08
手機碼代碼好難
2017-12-07
漢諾塔任務的最終目標就是將所有圓盤從A移動到C
如果你是說過程的話,在將剩余的( n-1)個圓盤移到C的過程中,肯定也有將某個圓盤從B移到A的過程(如果沒有這些過程,也沒法將圓盤從B移到C)
你可以取百科看一下漢諾塔任務的過程,課程中的任務簡述是已經做了優化的了,已經給出了具體策略。原始的問題是:有N個圓盤放在A上,在對盤的移動過程中,必須保證大盤在下,小盤在下,如何將所有圓盤移動到C上。