河内之塔(汉诺塔) java实现
来源:互联网 发布:淘宝直通车黑车 编辑:程序博客网 时间:2024/04/28 19:01
汉诺塔主要是有三个塔座X,Y,Z,要求将三个大小不同,依小到大编号为1,2.....n的圆盘从A移动到塔座Z上,要求
(1):每次只能移动一个圆盘
(2):圆盘可以插到X,Y,Z中任一塔座上
(3):任何时候不能将一个较大的圆盘压在较小的圆盘之上
主要是运用了递归的思想
public class Hanoi {
private static int count=0;
/**
*
* @param n 盘子的数目
* @param origin 源座
* @param assist 辅助座
* @param destination 目的座
*/
public int hanoi(int n, char origin, char assist, char destination) {
if (n == 1) {
return 1;
} else {
count=count+2;
hanoi(n - 1, origin, destination, assist);//B和C的位置交换,A,C,B
hanoi(n - 1, assist, origin, destination);//C,A,B
}
return count;
}
public static void main(String[] args) {
Hanoi hanoi = new Hanoi();
int num=hanoi.hanoi(2, 'A', 'B', 'C');//2的n次方-1
System.out.println("dai ="+num);
}
}
0 0
- 河内之塔(汉诺塔) java实现
- 汉诺塔(河内之塔)
- 河内之塔(汉诺塔)
- 汉诺塔||河内之塔
- 汉诺塔问题(河内之塔)
- 汉诺塔(河内塔)
- 河内之塔(C语言递归实现)
- 河内之塔算法实现(c与python)
- JAVA经典算法之河内之塔
- 数据结构经典算法学习之河内之塔(汉诺塔)
- Java中的河内之塔算法
- 汉诺塔(河内塔)问题
- 河内之塔(汉诺塔问题--------递归
- 河内之塔
- 河内之塔
- 河内之塔
- 河内之塔
- 河内之塔
- FragmentTabHost使用方法
- C++/C面试题集
- hadoop FS Shell
- Swift利用闭包反向传值
- 集合初探(二)
- 河内之塔(汉诺塔) java实现
- android 友盟分享一直返回分享取消
- SyntaxError: Non-ASCII character ‘\xe5′ in file 关于python中的编码问题
- MFC控件系列之一:Edit Control用法
- 不同区域控制器名称相同出错的解决方法(备忘)
- 《HTTP权威指南》学习笔记-HTTP报文
- 16-Ajax学习之什么是Ajax,Ajax原理
- 属性动画+贝塞尔曲线实现落叶效果~~~(@_@;)
- aaaa