下面是一个Python的汉诺塔问题的递归解决方案的代码示例:
def hanoi(n, source, target, auxiliary):
if n > 0:
# 将 n-1 个盘子从源柱移动到辅助柱
hanoi(n-1, source, auxiliary, target)
# 将最底下的盘子从源柱移动到目标柱
print(f"Move disk {n} from {source} to {target}")
# 将 n-1 个盘子从辅助柱移动到目标柱
hanoi(n-1, auxiliary, target, source)
# 测试
hanoi(3, 'A', 'C', 'B')
这段代码中,hanoi函数接受四个参数:整数n表示盘子的数量,字符串source表示源柱,字符串target表示目标柱,字符串auxiliary表示辅助柱。函数使用递归的方式解决汉诺塔问题。
在hanoi函数中,首先检查n是否大于0。如果是,则递归调用函数本身:
source到auxiliary)。source到target)的操作。auxiliary到target)。最后,我们调用hanoi函数来测试代码,并将source设置为"A",target设置为"C",auxiliary设置为"B"。