Go基础之函数递归实现汉诺塔

Posted jevonwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go基础之函数递归实现汉诺塔相关的知识,希望对你有一定的参考价值。

Go递归实现汉诺塔

package main

import "fmt"

// a 是源,b 借助, c 目的长度
func tower(a, b, c string, layer int) 
    if layer == 1 
    fmt.Println(a, "111->", c)
        return


// n-1 个 a 借助 c 到 b
tower(a, c, b, layer-1)
fmt.Println(a, "11->", c)
// b n-1 借助a移动到c
tower(b, a, c, layer-1)


func main() 
    tower("a", "b", "c", 3)

以上是关于Go基础之函数递归实现汉诺塔的主要内容,如果未能解决你的问题,请参考以下文章

递归3之汉诺塔的实现

递归算法之汉诺塔

go 实现几个递归经典案例(阶乘斐波那契数列二分查找汉诺塔)

分治 + 递归之汉诺塔问题详解

递归之汉诺塔

Python入门之经典函数实例——第1关:递归函数 - 汉诺塔的魅力