这是我为河内塔问题编写的 Python 代码,其中必须将塔从左边的钉子转移到中间的钉子上,使用右边的钉子作为备用:
def hanoi(n, origin = "1", destination = "2", spare = "3"):
if n == 1:
print ("Move disk from", origin, "to", destination)
else:
hanoi(n-1, origin, spare, destination)
hanoi(1, origin, destination, spare)
hanoi(n-1, spare, destination, origin)
hanoi(3)
现在我的教授希望我以合法移动仅从塔 1 到 2、塔 2 到 3 和塔 3 到 1 的方式实施它。所有其他规则都是相同的。