import java.util.Arrays; /** * Created with IntelliJ IDEA. * Description: * User: 出其东门 * Date: 2022-07-18 * TIME: 8:53 */ public class TestDemo { //汉诺塔 //1: A->BC //2: A->B A->C B->C //3: A->C A->B C->B A->C B->A B->C A->C 7 2^N-1 public static void move(char pose1,char pose2) { System.out.print(pose1+" -> "+pose2+" "); } /** * * @param n 代表你的盘子的个数 * @param pose1 盘子所在的起始位置 * @param pose2 盘子的中转位置 * @param pose3 盘子的结束位置 */ public static void hanio(int n ,char pose1,char pose2,char pose3) { if (n == 1) { move(pose1,pose3); }else { hanio(n-1,pose1,pose3,pose2); move(pose1,pose3); hanio(n-1,pose2,pose1,pose3); } } public static void main1(String[] args) { hanio(1,'A','B','C'); Syste
Java汉诺塔及相关编程
最新推荐文章于 2024-10-06 20:16:20 发布
本文演示了如何使用Java实现汉诺塔问题,包括递归算法和基础的数组操作,如数组长度获取、元素打印、数组复制等。此外,还探讨了for循环与for-each循环的区别,并展示了如何在数组中进行元素交换和查找操作。
摘要由CSDN通过智能技术生成