為什么A上的n個圓盤只能分成最下的1和上邊的n-1,而不能分成最上的1和下面的n-1呢
我試了下如果把A分成最上的1和下面的n-1:
def move(n,a,b,c):
? ? if n==1:
? ? ? ? print a,'-->',c
? ? ? ? return
上面部分不變,接著n>1的邏輯改為:
? ? ? ? print a, '-->' ,b? ? ? ? ? ? #先把a最上面的1放入b
? ? ? ? move ( n-1, a, b, c )? ? ?#再把a下面的n-1放入c
? ? ? ? print b, '-->' ,c? ? ? ? ? ? ?#再把b上的1放入c
?? ?
運行結果是錯的,點解?
2020-04-22
不能確定第一步是a->b還是a->c
2020-04-07
因為游戲規則,最下面的圓盤最大,最大它就可以肆無忌憚的把比它小的放上去,你就當它是空柱子。你永遠都不能把一個大的放在小的上面。