hanovertowers.java
来自「算法导论上机作业java实现」· Java 代码 · 共 38 行
JAVA
38 行
import java.io.IOException;
//汉诺塔,采用递归的方式实现
public class HanoverTowers {
public static void print_disks(int n){
System.out.print("disks:"+n+" :");
}
public static void print_moves(char src,char dst){
System.out.println(src+"============>"+dst);
}
public static void Towers(int n,char src,char mid,char dst){
if(n==1){
print_disks(n);
print_moves(src,dst);
return;
}
else{
Towers(n-1,src,dst,mid);
print_disks(n);
print_moves(src,dst);
Towers(n-1,mid,src,dst);
}
}
public static void main(String[] args) throws IOException {
byte[] disks=new byte[10];
int n=0;
System.out.println("input the numbers of the disks:");
System.in.read(disks);
//for(int i=0;i<disks.length;i++)
n=disks[0]%48;
//System.out.println(n);
Towers(n,'A','B','C');
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?