之前的文章,我們給大家分享了不少漢諾塔算法的實現語言,包括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)
- }
- }
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答