java:递归:汉罗塔游戏计算出最少的步数
2010-05-17 12:41
232 查看
package game;
public class HanTa {
public static int i = 0;
public static void main(String[] args){
calc('A', 'B', 'C', 2);
System.out.println("最少需要"+i+"步。");
}
//汉罗塔游戏计算
public static void calc(char src, char ilde, char dest, int num){
if(num == 1){
i++;
System.out.println(src+"-->"+dest);
return;
}
calc(src, dest, ilde, num - 1);
i++;
System.out.println(src+"-->"+dest);
calc(ilde, src, dest, num - 1);
}
}
public class HanTa {
public static int i = 0;
public static void main(String[] args){
calc('A', 'B', 'C', 2);
System.out.println("最少需要"+i+"步。");
}
//汉罗塔游戏计算
public static void calc(char src, char ilde, char dest, int num){
if(num == 1){
i++;
System.out.println(src+"-->"+dest);
return;
}
calc(src, dest, ilde, num - 1);
i++;
System.out.println(src+"-->"+dest);
calc(ilde, src, dest, num - 1);
}
}
相关文章推荐
- java:递归汉罗塔游戏最少的走法
- 使用java计算一个数的阶乘--递归
- java中实现递归计算二进制表示中1的个数
- 【分治】计算概论(A) / 函数递归练习(1)多边形游戏
- 计算回文子序列(Java语言,动态规划,递归)
- java计算参数目录大小的递归和迭代实现
- JAVA:递归和迭代两种方法计算斐波那契数列
- Java 递归解决 "只能两数相乘的计算器计算x^y" 问题
- JAVA游戏开发计算显示FPS
- Java代码分别用递归和非递归方式计算二叉树的最大深度
- 计算回文子序列(Java语言,穷举法,递归)
- 24点游戏 Java 递归
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)
- 给定n个矩阵{A1, A2, …,An},其中,Ai与Ai+1是可乘的,计算这n个矩阵的连乘积。从中找出一种乘次数最少的计算次序(矩阵连乘最优顺序Java语言实现
- java计算参数目录大小的递归和迭代实现
- java中递归方法的应用--计算n的阶乘
- Java 递归调用 最简单计算1-n的和,不用使用循环语句,一条语句搞定
- 【算法数据结构Java实现】递归的简单剖析及时间复杂度计算
- Java 递归解决 "仅仅能两数相乘的计算器计算x^y" 问题
- 使用java递归计算斐波那契数列