河内之塔java_河内塔java实现

直接代码如下

/**

* 河内之塔(Towers of Hanoi)是法国人 M.Claus(Lucas)于 1883 年从泰国带至法国的,河内为

越战时北越的首都,即现在的胡志明市;1883 年法国数学家 Edouard Lucas 曾提及这个故事,据

说创世纪时 Benares 有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放

置 64 个由上至下依由小至大排列的金盘(Disc) ,并命令僧侣将所有的金盘从第一根石棒移至第三

根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运

完毕之时,此塔将毁损,而也就是世界末日来临之时。

* @author Administrator

*

*/

public class HanoiTowers {

public static void moveDisc(int DiscNum){

move(DiscNum,'A','B','C');

}

private static void move(int discNum, char a, char b, char c) {

if(discNum == 1){

System.out.println("盘" + discNum + "由" + a + "移至" +c);

}else{

// a c b

move(discNum-1,a,c,b);

System.out.println("盘" + discNum + "由" + a + "移至" +c);

// b a c

move(discNum-1,b,a,c);

}

}

public static void main(String[] args) {

moveDisc(3);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值