程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python解決漢諾塔問題

編輯:Python

漢諾塔問題描述

有三根頂針,在第一根頂針上放著若干個盤子,且小盤子在大盤子上面,現把這些盤子從第一根頂針上移動到第三根頂針上,且小盤子依舊在大盤子之上。在移動的過程中可以借助第二根頂針,每次只能移動一個盤子,且小盤子要在大盤子上面,如何移動才能使所有盤子從第一根頂針到第三根頂針上。

解決思想:

采用遞歸迭代的方法,先將第n-1個盤子移動到第二根頂針上,讓後將第一根頂針上的盤子移動到第`三根頂針上,通過同樣的方法將n-1個盤子移動到第三個盤子上。

漢諾塔問題編程實現

def hanoni(n,x,y,z):
if(n==1):
print(x,'--->',z);
else:
hanoni(n-1,x,z,y);
print(x,'--->',z);
hanoni(n-1,y,x,z);
n = int(input('請輸入漢諾塔的層數:'));
hanoni(n,'x','y','z');

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved