阅读量:1
以下是一个用 Python 编写的汉诺塔递归算法示例:
def hanoi(n, source, target, auxiliary): if n > 0: # 将 n-1 个盘子从源柱移动到辅助柱 hanoi(n-1, source, auxiliary, target) # 将第 n 个盘子从源柱移动到目标柱 print(f"Move disk {n} from {source} to {target}") # 将 n-1 个盘子从辅助柱移动到目标柱 hanoi(n-1, auxiliary, target, source) # 测试代码 n = int(input("请输入汉诺塔的盘子数:")) hanoi(n, 'A', 'C', 'B')
在这个示例中,hanoi
函数是一个递归函数,它将 n
个盘子从源柱移动到目标柱,通过辅助柱作为中转。
通过调用 hanoi(n, 'A', 'C', 'B')
,我们可以将 n
个盘子从 A 柱移动到 C 柱,B 柱作为辅助柱。输出结果会显示每一步的移动过程。
请注意,在实际使用时,可能需要对输入进行验证和错误处理。