我是這樣理解的,看任務提示,如果a有N個圓盤...(就不重復敘述),將n-1個圓盤看作一個整體,n-1需從a移動到b則為move(n-1, a, c, b),此時有人就會問,為什么c和b對調了,如果你將n-1看作一個整體,n-1從a移動到b上就如同n從a移動到c一樣,既然n從a移動到c上是move(n, a, b, c),那么n-1從a到b上不就是move(n-1, a, c, b),a剩下的最后一個圓盤再從a移動到c,既可以寫成a,'-->',c也可以寫成move(1, a, b, c),最后需要將n-1從b移動到c上,如同上述一樣的做法,那么就是move(n-1, b, a, c)。我理解就是將n-1看做成n一樣,n-1在b柱上就像是n在a柱上一樣,有出發點和目的點意義就是一樣的,a,b,c只是柱子的代號,由圓盤所在的柱子需要到目的的柱子而改變。希望對你有幫助!
2019-03-18
我是這樣理解的,看任務提示,如果a有N個圓盤...(就不重復敘述),將n-1個圓盤看作一個整體,n-1需從a移動到b則為move(n-1, a, c, b),此時有人就會問,為什么c和b對調了,如果你將n-1看作一個整體,n-1從a移動到b上就如同n從a移動到c一樣,既然n從a移動到c上是move(n, a, b, c),那么n-1從a到b上不就是move(n-1, a, c, b),a剩下的最后一個圓盤再從a移動到c,既可以寫成a,'-->',c也可以寫成move(1, a, b, c),最后需要將n-1從b移動到c上,如同上述一樣的做法,那么就是move(n-1, b, a, c)。我理解就是將n-1看做成n一樣,n-1在b柱上就像是n在a柱上一樣,有出發點和目的點意義就是一樣的,a,b,c只是柱子的代號,由圓盤所在的柱子需要到目的的柱子而改變。希望對你有幫助!
2019-01-22