大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
import java.util.Scanner;
/*
* 汉罗塔问题
*/
public class HanoiExec {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(“请输入盘子数n”);
Scanner sn=new Scanner(System.in);
int n=sn.nextInt();
HanoiExec hanoi=new HanoiExec();
System.out.println(“The steps to move ” +n+” disks:”);
hanoi.hanoi(n, ‘A’, ‘B’, ‘C’);
System.out.println(n+”个盘子最少需要移动”+(Math.pow(2,n)-1)+”次。”);
}
public void hanoi(int n,char one ,char two,char three){
if(n==1){
this.move(one, three);
}else{
//分三步:
//1、借助第三个柱子把第一个柱子的n-1个盘子移动到第二个柱子上
//2、把第一个柱子上的第n个盘子从第一个柱子移动最终的第三个柱子上
//3、借助第一个柱子把第二个柱子的n-1个盘子移动到第三个柱子
this.hanoi(n-1,one,three,two);
this.move(one ,three);
this.hanoi(n-1, two, one, three);
}
}
public void move(char x,char y){
System.out.println(x+”–>”+y);
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182914.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...