栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

汉诺塔问题JAVA

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

汉诺塔问题JAVA

 1、我觉得汉诺塔问题可以一直当作两个圆盘来看,用递归jiu很好解决了

 2、如果只有一个的话,可以直接把 a柱的圆盘直接移动到 c柱 上面  a-> c

 3、如果有多个圆盘的话,就当作两个圆盘来考虑

 4、顺序依次是    a -> b  a->c   b->c

                

 代码如下,用的递归方法实现 

如果有多个圆盘,把所有的圆盘都看作是 两个  ,最下面一个大的 和上面的所有个

public class Hanluota {
    public static void main(String[] args) {
        Tower.move(2,'A','B','C');
    }
}

class Tower{
    public static void move(int num,char a,char b,char c){
        //1、如果只有一个
        if(num == 1){
            System.out.println(a + "->" + c);
        }else{
            //如果有多个盘,就看成两个盘,可以看成最下面地两个盘

            move(num - 1,a,c,b);
            System.out.println(a + "->" + c);
            move(num - 1,b,a,c);

        }
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345299.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号