python實現漢諾塔

來源:互聯網
上載者:User

標籤:ons   傳說   line   space   nts   cti   number   有一個   word   

漢諾塔是印度一個古老傳說的益智玩具。漢諾塔的移動也可以看做是遞迴函式。

我們對柱子編號為a, b, c,將所有圓盤從a移到c可以描述為:
如果a只有一個圓盤,可以直接移動到c;
如果a有N個圓盤,可以看成a有1個圓盤(底盤) + (N-1)個圓盤,首先需要把 (N-1) 個圓盤移動到 b,然後,將 a的最後一個圓盤移動到c,再將b的(N-1)個圓盤移動到c。
請編寫一個函數,給定輸入 n, a, b, c,列印出移動的步驟:
move(n, a, b, c)
例如,輸入 move(2, ‘A’, ‘B’, ‘C’),列印出:
A –> B
A –> C
B –> C

 

代碼實現方式如下:

def move(n, a, b, c):      if n = = 1 :          print a, ‘-->‘ ,c      else :          move(n - 1 ,a,c,b)  #首先需要把 (N-1) 個圓盤移動到 b          move( 1 ,a,b,c)    #將a的最後一個圓盤移動到c          move(n - 1 ,b,a,c)  #再將b的(N-1)個圓盤移動到c move( 4 , ‘A‘ , ‘B‘ , ‘C‘ )

python實現漢諾塔

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.