华域联盟 Golang Go语言实现汉诺塔算法

Go语言实现汉诺塔算法

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语言实现汉诺塔算法

转载请保留出处和原文链接:https://www.cnhackhy.com/110043.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们