这篇文章主要介绍了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语言如何实现汉诺塔算法到此结束。远大抱负始于初中,辉煌人生起于今日。小编再次感谢大家对我们的支持!




