print(x, '--->', z) # 如果只有一層,直接從x移動到z
else:
hanoi(n-1, x, z, y) # 將前n-1個盤子從x移動到y上
print(x, '--->', z) # 將最底下的盤子從x移動到z上
hanoi(n-1, y, x, z) # 將y上的盤子移動到z上
n = int(input("請輸入漢諾塔的層數:"))
print("盤子搬運過程如下:")
hanoi(n, 'a', 'b', 'c')
>>>請輸入漢諾塔的層數:2
盤子搬運過程如下:a-
--> ba-
--> cb-
--> c
>>>請輸入漢諾塔的層數:5
盤子搬運過程如下:a-
--> ca-
--> bc-
--> ba-
--> cb-
--> ab-
--> ca-
--> ca-
--> bc-
--> bc-
--> ab-
--> ac-
--> ba-
--> ca-
--> bc-
--> ba-
--> cb-
--> ab-
--> ca-
--> cb-
--> ac-
--> bc-
--> ab-
--> ab-
--> ca-
--> ca-
--> bc-
--> ba-
--> cb-
--> ab-
--> ca-
--> c
python 漢諾塔 Python漢諾塔
import turtle class stack def init self self.items def isempty self return len self.items 0 def push self,item def pop self return self.items.pop def ...
漢諾塔程式
include stdio.h void move char x,char y 自定義move函式,用來將塊從起始柱子x移動到目標柱子y,這裡的x,y為形參,不代表具體哪根柱子 void hannuota int n,char a,char b,char c 自定義hannuota函式,這裡的a,b...
漢諾塔 小青蛙
漢諾塔的解法在於將問題分解 可以說漢諾塔只有三步 寫過程 def hanoi n,a,b,c param n 問題規模 param a 起始盤子 param b 路過盤子 param c 目標盤子 return if n 0 hanoi n 1,a,c,b 開啟冰箱門,把b當做目標盤子 print ...