如何用Go语言实现汉诺塔算法

复制代码
package main

import (
    "fmt"
)

func print(n int,x rune,y rune)(){
    fmt.Printf("moving disk %d from pole %c to pole %c\n",n,x,y)
}

func move(n int,a rune,b rune,c rune)(){
    if n==1{
        print(n,a,c)
    }else {
        move(n-1,a,c,b);
        print(n,a,c);
        move(n-1,b,a,c)
    }
}

func main() {
    var n int;
    fmt.Println("Please input the disk number n: ");
    fmt.Scanf("%d",&n);
    move(n,'x','y','z')
     }
复制代码

 

posted @   iVictor  阅读(799)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示