当前位置: 首页 > news >正文

java汉诺塔(递归实现)

目录

1.1 汉诺塔介绍

1.2 游戏

1.3 汉诺塔实现步骤

1.4 实现代码

测试结果


1.1 汉诺塔介绍

汉诺塔介绍

1.2 游戏

汉诺塔小游戏

1.3 汉诺塔实现步骤

设置3个柱子,初始柱子(A),中间辅助柱子(B),目标柱子(C)。

1、将上面的第1层~第(n-1)层从初始位置(A柱)移动到中间位置(B柱)
2、再将第n层移动到目标位置(C柱)
3、最后将第1层到~第(n-1)层从中间位置(B柱)移动到目标位置(C柱)(三者顺序不能变)

1.4 实现代码

import java.util.Scanner; public class TowerOfHanoi { //计步数 static int count; public static void main(String[] args) { //3根柱子 char a = 'A'; char b = 'B'; char c = 'C'; //创建扫描器对象 Scanner scanner = new Scanner(System.in); System.out.println("请输入圆盘个数:"); int num = scanner.nextInt(); //关闭扫描器 scanner.close(); //创建汉诺塔对象 TowerOfHanoi toh = new TowerOfHanoi(); //调用汉诺塔方法 toh.towerOfHanoi(num, a, b, c); System.out.println("一共" + count + "步,把所有圆盘从A移到C~"); } public void towerOfHanoi(int num ,char A ,char B, char C) { if (num < 0) { System.out.println("请输入正整数~"); } if (num == 1) { System.out.println("第" + (++count) + "步: " + A + " -> " + C); return; }else { // 递归调用(3个顺序不能改变) towerOfHanoi(num-1,A,C,B);//把A柱上的移向B柱 System.out.println("第" + (++count) + "步: " + A + " -> " + C);//把A柱上的移向C柱 towerOfHanoi(num-1,B,A,C);//把B柱上的移向C柱 } } }

测试结果

http://www.cnnetsun.cn/news/3563997.html

相关文章:

  • ubuntu-post-install完全指南:让你的Ubuntu系统初始化效率提升10倍的终极脚本集
  • 一款基于车载协议的socket通讯工具
  • 面向对象的思考
  • next-data-hooks性能优化:深入理解代码消除机制
  • TCP三次握手:为什么需要三次,每一次握手的作用是什么
  • 供需双增叠加政策迭代,动力电池行业开启高质量竞争新周期
  • [Android] az录屏大师 -1080p高清录制
  • 386 · Longest Substring with At Most K Distinct Characters最多有k个不同字符的最长子字符串(滑动窗口)
  • 不群发、不买链接、不写客座文章——我只靠一条原创数据拿到了200条外链
  • 第三章 镜像仓库总结-001篇
  • smsBomb配置完全指南:从配置文件到API密钥的详细设置
  • 运维工程师转型渗透测试:思维重塑与6-9个月实战路线图
  • GameVault多平台支持:Windows与Linux游戏兼容性终极指南 [特殊字符]
  • Claude Code实战避坑指南:7大核心痛点与解决方案
  • 【WorkBuddy从入门到精通实战教程】使用手册 第 5 章 WorkBuddy加载一个真正用得上的 Skill
  • shell数组的一些总结
  • 告别文献焦虑✅Okbiye千万文献库+学术翻译!搞定论文参考文献、外文研读全流程
  • 递归对抗拓扑学(RAT)主纤维丛建模认知冲突完整框架(世毫九实验室原创研究)
  • FossFLOW架构图工具深度解析:如何构建专业级等距可视化系统
  • HarmonyOS应用开发实战:小事记 - 网络请求封装:请求/响应拦截器、超时重试、取消请求
  • M12 B-Code(B编码)5芯连接器完整解析
  • SpringBatch批处理实战:架构解析与性能优化
  • 3个策略让cJSON在工业控制系统中实现零内存泄漏的JSON处理
  • HDMI矩阵与EDID管理在无纸化会议中的应用
  • 终极指南:Magisk技术架构深度解析与性能优化策略
  • 2026横评:3大宁波周末语文小升初机构全面评测
  • 百考通一键生成:AI赋能开题报告,让学术研究起步更高效
  • Laravel ER Diagram Generator 终极快速入门指南:3分钟生成数据库关系图
  • 原神抽卡数据分析:如何用开源工具永久保存你的欧皇时刻?
  • MTProxy动态IP挑战:如何实现17秒自动重连与智能DNS解析