汉诺塔(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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾驶证过了两年怎么办 驾驶证过期8个月怎么办 学驾照快过期了怎么办 朋友开我车撞了怎么办 b2驾照扣分没审怎么办 驾驶证脱审2个月怎么办 驾驶证脱审1月怎么办 驾照过期了没换怎么办 驾照过期1年多了怎么办 考驾照科目一考不过怎么办 我考驾照过期了怎么办 驾照过了审验期怎么办 驾照过期3年了怎么办 如果学车过期了怎么办 行驶证过期了3年怎么办 行驶证过期没审怎么办 行驶证过期两年怎么办 驾驶证过期7年了怎么办 换驾照过一个月怎么办? 行驶证正本掉了怎么办 车的行驶证丢了怎么办 三星s6 屏幕坏了怎么办 手机摔成黑屏了怎么办 三星屏幕漏液了怎么办 三星s8屏幕漏液怎么办 屏幕紫色漏液了怎么办 华为手机屏碎了怎么办 小米2s按键失灵怎么办 魅蓝屏幕摔花了怎么办 小米手机屏碎了怎么办 厦门医保卡坏了怎么办 医保卡丢了北京怎么办 重庆社保卡丢了怎么办 沈阳医保卡丢了怎么办 小孩医保卡丢了怎么办 少儿医保卡丢了怎么办 孩子医保卡丢了怎么办 医保卡存折丢了怎么办 济宁医保卡丢了怎么办 大连医保卡丢了怎么办 职工医保卡丢了怎么办