汉诺塔(TowerofHanoi)问题--java
来源:互联网 发布:数据架构管理流程图 编辑:程序博客网 时间:2024/06/04 20:06
代码摘自《Java语言程序设计(基础篇)》
问题描述
利用C,将A中的由小到大排列的盘子,移动到B中。且移动过程中。小盘子始终防止大盘子的上方
import java.util.Scanner;//借助B,将A中的n个盘子移动到Cpublic class TowerofHanoi {public static void main(String[] args){Scanner input =new Scanner(System.in);System.out.println("please input disks num : ");int disks=input.nextInt();moveDisk(disks,'A','C','B');}private static void moveDisk(int disks, char fromPan , char midPan, char toPan) {// TODO Auto-generated method stubif(disks==1)System.out.println("move disk "+disks+" from "+ fromPan +" to "+toPan);else{moveDisk(disks-1, fromPan, toPan, midPan);System.out.println("move disk "+disks+" from "+ fromPan +" to "+toPan);moveDisk(disks-1, midPan, fromPan,toPan);}}}
输出结果
<pre name="code" class="plain">please input disks num : 4move disk 1 from A to Cmove disk 2 from A to Bmove disk 1 from C to Bmove disk 3 from A to Cmove disk 1 from B to Amove disk 2 from B to Cmove disk 1 from A to Cmove disk 4 from A to Bmove disk 1 from C to Bmove disk 2 from C to Amove disk 1 from B to Amove disk 3 from C to Bmove disk 1 from A to Cmove disk 2 from A to Bmove disk 1 from C to B
0 0
- 汉诺塔(TowerofHanoi)问题--java
- 汉诺塔问题(java实现)
- 汉诺塔问题(java实现)
- 汉诺塔问题(基础)(java实现)
- java 解决 汉诺塔问题(递归算法)
- java处理汉诺塔问题
- JAVA求解汉诺塔问题
- 【Java】汉诺塔问题
- java 汉诺塔问题
- 汉诺塔问题(Java)
- Java汉诺塔问题
- 汉诺塔问题 Java实现
- java汉诺塔问题
- Java解决汉诺塔问题
- 汉诺塔问题 java实现
- Hanoi汉诺塔问题(java)
- 员工工资问题(java)
- 生日问题(java)
- Linux6.3服务环境搭建
- SpringMVC之MapperScannerConfigurer详解
- 使用C# .net开发微信公众号之获取Jsapi_Ticket
- hadoop学习笔记之一:文件完整性验证gpg --verify
- 前端杂烩——在工作,在思考,在沉淀
- 汉诺塔(TowerofHanoi)问题--java
- 回文素数(限时版)(打表)
- c:if与s:if的基本使用
- React Native 集成Android原生应用:Didn't find class "com.facebook.jni.IteratorHelper"
- UITableView 应用(三)UITableViewDelegate 方法总结
- 程序的链接和装入及Linux下动态链接的实现
- 享元模式
- 华为上机题汇总(四)
- Swift单例的写法