Go语言中怎么实现一个汉诺塔算法

今天就跟大家聊聊有关Go语言中怎么实现一个汉诺塔算法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联主营石首网站建设的网络公司,主营网站建设方案,成都App制作,石首h5小程序定制开发搭建,石首网站营销推广欢迎石首等地区企业咨询

hano.go

package main
import (
  "bufio"
  "fmt"
  "os"
  "strconv"
)
func main() {
  fmt.Print("输入要移动的盘子数:")
  reader := bufio.NewReader(os.Stdin)
lool:
  data, _, _ := reader.ReadLine()
  n, err := strconv.Atoi(string(data))
  if err != nil {
    fmt.Println(err)
    goto lool
  }
  hanoi(n, 'A', 'B', 'C')
}
func hanoi(n int, a, b, c byte) {
  if n > 1 {
    hanoi(n-1, a, c, b)
    fmt.Printf("%c-->%c\n", a, c)
    hanoi(n-1, b, a, c)
  } else {
    fmt.Printf("%c-->%c\n", a, c)
  }
}

看完上述内容,你们对Go语言中怎么实现一个汉诺塔算法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网站标题:Go语言中怎么实现一个汉诺塔算法
本文地址:http://ybzwz.com/article/pjoipc.html