Go语言实现汉诺塔算法

2022-10-13,,

之前的文章,我们给大家分享了不少汉诺塔算法的实现语言,包括C、c++、java、python等,今天我们就来使用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)
  }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:

  • Golang算法问题之数组按指定规则排序的方法分析
  • Golang算法之田忌赛马问题实现方法分析
  • Golang排列组合算法问题之全排列实现方法
  • Golang正整数指定规则排序算法问题分析
  • Golang最大递减数算法问题分析
  • Go语言展现快速排序算法全过程的思路及代码示例
  • GO语言利用K近邻算法实现小说鉴黄
  • Go语言通过Luhn算法验证信用卡卡号是否有效的方法
  • go语言睡眠排序算法实例分析
  • Go语言实现AzDG可逆加密算法实例
  • Go语言实现的树形结构数据比较算法实例
  • Go语言算法之寻找数组第二大元素的方法
  • Golang算法问题之整数拆分实现方法分析

《Go语言实现汉诺塔算法.doc》

下载本文的Word格式文档,以方便收藏与打印。