欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python求解漢諾塔游戲

 更新時間:2020年07月09日 17:09:00   作者:TakingCoding4Granted  
這篇文章主要為大家詳細介紹了python求解漢諾塔游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python求解漢諾塔游戲的具體代碼,供大家參考,具體內容如下

一、問題定義

百度百科定義:漢諾塔(又稱河內塔)問題是源于印度一個古老傳說的益智玩具。據(jù)說大梵天創(chuàng)造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照從小到大順序摞著64片黃金圓盤。大梵天命令婆羅門借助其中一根柱子,把64片黃金圓盤重新擺放到第三個根柱子上。并且規(guī)定,在小黃金圓盤上不能放大的黃金圓盤,在三根柱子之間一次只能移動一個圓盤。

例如,如果黃金圓盤只有3片,則為了滿足游戲規(guī)則,那么必須按照如下圖所示的8個步驟完成:

二、代碼實現(xiàn)

# 將n個盤子借助y柱從x柱移動到z柱
def hanoi(n, x, y, z):

 count = 0
 if n == 1: # 遞歸出口
  print(x, ' --> ', z)
  return 1
 else:
  # 將前n - 1個盤子借助z柱從x柱移動到y(tǒng)柱上
  count += hanoi(n - 1, x, z, y) # 遞歸調用

  # 將最底下的1個盤子從x柱移動到z柱上
  count += hanoi(1, x, y, z)

  # 將n - 1個盤子借助x柱從y柱移動到z柱上
  count += hanoi(n - 1, y, x, z) # 遞歸調用

  return count


def main():

 hanoi_level = input("請輸入漢諾塔層數(shù):")
 print("總共移動次數(shù)為%d" % hanoi(int(hanoi_level), 'X', 'Y', 'Z'))


if __name__ == '__main__':
 main()

當黃金圓盤為4層時,代碼的輸出結果為:

請輸入漢諾塔層數(shù):4
X --> Y
X --> Z
Y --> Z
X --> Y
Z --> X
Z --> Y
X --> Y
X --> Z
Y --> Z
Y --> X
Z --> X
Y --> Z
X --> Y
X --> Z
Y --> Z
總共移動次數(shù)為15

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解Pytorch中的tensor數(shù)據(jù)結構

    詳解Pytorch中的tensor數(shù)據(jù)結構

    torch.Tensor 是一種包含單一數(shù)據(jù)類型元素的多維矩陣,類似于 numpy 的 array,這篇文章主要介紹了Pytorch中的tensor數(shù)據(jù)結構,需要的朋友可以參考下
    2022-09-09
  • python 處理微信對賬單數(shù)據(jù)的實例代碼

    python 處理微信對賬單數(shù)據(jù)的實例代碼

    本文通過實例代碼給大家介紹了python 處理微信對賬單數(shù)據(jù),代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)TXT數(shù)據(jù)轉三維矩陣

    Python實現(xiàn)TXT數(shù)據(jù)轉三維矩陣

    在數(shù)據(jù)處理和分析中,將文本文件中的數(shù)據(jù)轉換為三維矩陣是一個常見的任務,本文將詳細介紹如何使用Python實現(xiàn)這一任務,感興趣的小伙伴可以了解下
    2024-01-01
  • python學習筆記--將python源文件打包成exe文件(pyinstaller)

    python學習筆記--將python源文件打包成exe文件(pyinstaller)

    這篇文章主要介紹了通過將pyinstallerpython源文件打包成exe文件的方法,需要的朋友可以參考下
    2018-05-05
  • Python中的字符串切片(截取字符串)的詳解

    Python中的字符串切片(截取字符串)的詳解

    這篇文章主要介紹了Python中的字符串切片(截取字符串)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 通過python實現(xiàn)隨機交換禮物程序詳解

    通過python實現(xiàn)隨機交換禮物程序詳解

    這篇文章主要介紹了通過python實現(xiàn)隨機交換禮物程序詳解的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python如何基于rsa模塊實現(xiàn)非對稱加密與解密

    Python如何基于rsa模塊實現(xiàn)非對稱加密與解密

    這篇文章主要介紹了Python如何基于rsa模塊實現(xiàn)非對稱加密與解密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python正則表達式分組概念與用法詳解

    Python正則表達式分組概念與用法詳解

    這篇文章主要介紹了Python正則表達式分組概念與用法,結合具體實例形式較為詳細的分析了Python正則表達式中分組、引用、斷言等概念與相關使用技巧,需要的朋友可以參考下
    2017-06-06
  • Python 異常處理Ⅳ過程圖解

    Python 異常處理Ⅳ過程圖解

    這篇文章主要介紹了Python 異常處理Ⅳ過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python3 使用cookiejar管理cookie的方法

    Python3 使用cookiejar管理cookie的方法

    今天小編就為大家分享一篇Python3 使用cookiejar管理cookie的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論