You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

602 B

汉偌塔问题

  • 问题分析

    • 1、把n-1个圆盘从A经过C移动到B
    • 2、把第n个圆盘从A移动到C
    • 3、把n-1个圆盘从B经过A移动到C
  • 原理

  • 代码

func main() {
    run(3, "A", "B", "C")
}

func run(n int, a, b, c string) {
    if n > 0 {
        run(n-1, a, c, b)
        fmt.Println("从【"+a+"】移动到【"+c+"】")
        run(n-1, b, a, c)
    }
}

总结

对于潜在存在递归操作的操作,思考问题的最初状态。

简化使用 n = 1时应该进行的操作。依次推导 n = 2, n = 3 ... 得出结论。