定義里的參數順序為什么發生變化
def move(n, a, b, c):
? ? if n==1:
? ? print a,'-->',c
? ? return
? ? move(n-1,a,c,b)
? ? print a,'-->'c
? ? move(n-1,b,a,c)
def move(n, a, b, c):
? ? if n==1:
? ? print a,'-->',c
? ? return
? ? move(n-1,a,c,b)
? ? print a,'-->'c
? ? move(n-1,b,a,c)
2017-03-29
舉報
2017-03-29
函數move(n,a,b,c)定義是將n個圓盤從a借助b移動到c;
當n = 1個圓盤時,可直接從a移動到c
當n > 1時,需先將n-1個圓盤從a借助c移動到b, 所以是move(n-1,a,c,b)
然后將a剩余的一個圓盤移動到c
最后將b上的n-1個圓盤借助a移動到c上,所以是move(n-1,b,a,c)