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

    屏幕截图 2022-03-18 230354.png