前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >汉诺塔游戏

汉诺塔游戏

作者头像
名字是乱打的
发布2022-05-13 09:41:47
3800
发布2022-05-13 09:41:47
举报
文章被收录于专栏:软件工程

游戏目标 : 将左塔的盘子全部移动到右塔上

操作规则 :每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。

递归思想:

假设左塔有N个盘子 1.把1~N-1号盘子从左塔移到中塔 2.把N号盘子移到右塔 3.把1~N-1号盘子从中塔移到右塔

代码:
代码语言:javascript
复制
package com.algorithm.practice;

public class Hanoi {                        // 移动方     目标方         中间
    public static void moveHanoi(int N,String left,String right,String middle){
        if (N==1){
            System.out.println("移动1号盘子从"+left+"到"+right);
        }else{
            moveHanoi(N-1,left,middle,right);//1~N-1号盘子从from 移到help
            System.out.println("移动"+N+"号盘子从"+left+"到"+right);//移动N号盘子到help
            moveHanoi(N-1,middle,right,left);//移动1~N-1号盘子从help到from
        }
    }
    public static void main(String[] args)
    {
        moveHanoi(3,"左","右","中");
    }
}
控制台:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 递归思想:
  • 代码:
    • 控制台:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档