public class HanNuoTa {
public static void main(String[] args) {
HanNuoTa(3,'A','B','C');
}
public static void HanNuoTa(int N,char pos1,char pos2,char pos3){//从pos1移动到pos3,pos2为中转
if(N==1) {
move(N,pos1,pos3);
return;
}
HanNuoTa(N-1,pos1,pos3,pos2);//从pos1移动到pos2,pos3为中转
move(N,pos1,pos3);
HanNuoTa(N-1,pos2,pos1,pos3);//从pos2移动到pos3,pos1为中转
}
public static void move(int N, char sourceTower, char distTower) {
System.out.println("编号为"+N+"的盘子从"+sourceTower+"->"+distTower);
}
}
def move(n, a, b, c):
if(n == 1):
print(a,"->",c)
return
move(n-1, a, c, b)
move(1, a, b, c)
move(n-1, b, a, c)
move(3, "a", "b", "c")
