亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

如何解答思路

答案的思路是怎樣的?最高票的代碼沒說明遞歸中的C --> A 問題,有人知道完整思路么

正在回答

2 回答

def?move(n,?a,?b,?c):
????if?(n?==?1):
????????print?a,'-->',c
????else:
????????move(n?-?1,a,c,b)
????????move(1,a,b,c)
????????move(n?-?1,b,a,c)
????????
move(4,?'A',?'B',?'C')

這里 'A','B','C'三個柱子的地位是對稱的

1.當柱子a上只有一個圓盤時,只要講它從a移動到c就可以了;

2.當柱子a上面有n(n > 1)個圓盤時,假設我們已經擁有了能夠完成功能的move函數,我們可以把這個問題分為以下三個步驟:

1)先將柱子b和c互換,然后調用函數move(n - 1,a,c,b),這樣就可以把a上的 n - 1個盤子,放到b上,此時a上還剩1個盤子,b上有n - 1個盤子,c上沒有盤子;

2)然后調用函數move(1,a,b,c)將a上的盤子放到c上,此時a上沒有盤子,b上有n - 1個盤子,c上有1個盤子;

3)最后,將柱子b和a互換,調用函數move(n - 1,b,a,c)將b上的 n - 1個盤子放到c上,就完成了任務。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758400    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

如何解答思路

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號