欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 漢諾塔算法

錢斌斌2年前8瀏覽0評論

漢諾塔算法是一個經典的算法問題,也是Python程序員必須掌握的算法之一。該算法定義了一種移動規則,將一堆盤子從一根柱子移動到另一根柱子。

下面是Python程序實現漢諾塔算法:

def hanoi(n, a, b, c):
if n == 1:
print(a + " ->" + c)
return
hanoi(n-1, a, c, b)
print(a + " ->" + c)
hanoi(n-1, b, a, c)
hanoi(3, "A", "B", "C")

上面代碼中,hanoi函數接收4個參數,分別是盤子數量n和三根柱子a、b、c的名字。初始時,所有盤子都在a柱子上。

在函數體內,使用遞歸算法實現盤子從a柱子移動到c柱子。當只有1個盤子時,直接將其從a柱子移動到c柱子即可。當有n個盤子時,先將n-1個盤子從a柱子移動到b柱子,然后將最后一個盤子從a柱子移動到c柱子,最后將n-1個盤子從b柱子移動到c柱子。

在最后一行代碼中,調用hanoi函數并傳入參數3、"A"、"B"、"C"。這表示需要將三個盤子從A柱子移動到C柱子。