汉诺塔问题——golang版本

func hanio(n int, x string, y string, z string) {
    if n < 1 {
        fmt.Println("汉诺塔的层数不能小于1")
    } else if n == 1 {
        fmt.Println("移动:" + x + "——>" + z)
    } else {
        hanio(n-1, x, z, y)
        fmt.Println("移动:" + x + "——>" + z)
        hanio(n-1, y, x, z)
    }
}

func main() {
    var x = "X"
    var y = "Y"
    var z = "Z"
    hanio(10, x, y, z)
}

 

posted @ 2020-09-01 22:04  顽强的allin  阅读(205)  评论(0编辑  收藏  举报