news 2026/7/21 15:56:22

java汉诺塔(递归实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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柱 } } }

测试结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 15:54:21

一款基于车载协议的socket通讯工具

下载地址&#xff1a;CetNetworkTester-Setup-Beta-V1.1.2.111.exe-互联网文档类资源-CSDN下载 汽车协议网络测试工具&#xff1a;CetNetworkTester 设计笔记 作者&#xff1a;CetXiyuan &#xff5c; 技术栈&#xff1a;Qt 5.15.2 (MinGW 32-bit) &#xff5c; 平台&#xff…

作者头像 李华
网站建设 2026/7/21 15:53:58

面向对象的思考

1. 封装 1.1 概念 与 意义 到底是为了安全 还是为了对用户友好&#xff1f; 1.2 封装是指 功能的打包和接口的暴漏 把实现的细节隐藏在接口之后并不代表必须有强制的私有性 先保护好自己再让别人利用&#xff0c;这两者并不冲突 &#xff0c;让能看到的看到&#xff0c;不能…

作者头像 李华
网站建设 2026/7/21 15:53:11

next-data-hooks性能优化:深入理解代码消除机制

next-data-hooks性能优化&#xff1a;深入理解代码消除机制 【免费下载链接】next-data-hooks Use getStaticProps/getServerSideProps as react-hooks 项目地址: https://gitcode.com/gh_mirrors/ne/next-data-hooks 在Next.js应用开发中&#xff0c;性能优化是每个开发…

作者头像 李华
网站建设 2026/7/21 15:52:07

TCP三次握手:为什么需要三次,每一次握手的作用是什么

TCP三次握手&#xff1a;为什么需要三次&#xff0c;每一次握手的作用是什么&#x1f4dd; 本章学习目标&#xff1a;本章深入协议原理&#xff0c;帮助读者理解网络通信的核心机制。通过本章学习&#xff0c;你将全面掌握"TCP三次握手&#xff1a;为什么需要三次&#xf…

作者头像 李华
网站建设 2026/7/21 15:52:07

供需双增叠加政策迭代,动力电池行业开启高质量竞争新周期

一、行业核心概况与整体市场规模 动力电池是新能源汽车的核心储能配套部件&#xff0c;直接决定车辆续航、充电效率、安全性能、使用寿命及整车成本&#xff0c;广泛适配纯电动、插混、增程式、燃料电池等各类新能源车型&#xff0c;覆盖乘用车、商用车两大核心应用场景。当前行…

作者头像 李华