import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("请输入一个值");
Scanner scan=new Scanner(System.in);
int n =scan.nextInt();
char x='A';//初始
char y='B';//中间
char z='C';//目标
digui(n,x,y,z );
}
//递归方法
public static void digui(int i,char x,char y,char z){
if(i==1){
System.out.println(x+"——》"+z);
}else{
digui(i-1, x, z, y); //先将初始塔的前i-1个盘子借助目的塔移动到借用塔上
System.out.println(x+"——》"+z);//将剩下的一个盘子移动到目的塔上
digui(i-1, y, x, z); //最后将借用塔上的i-1个盘子移动到目的塔上
//初步理解请理解2个盘子,然后理解3个盘子的代码实现
}
}
}
java递归方法解决汉诺塔
最新推荐文章于 2023-07-19 11:49:30 发布