package lsn1.sjjg.cct.cn.lsn1; import org.junit.Test; /** * 递归实现汉诺塔 * * Created by linyaokui on 17/11/28. */ public class Hanoi { @Test public void test(){ hanoi(3,1,2,3); } /** * * @param n 盘子的个数 * @param start 开始的柱子 * @param middle 中介柱子 * @param end 结果的柱子 */ public void hanoi(int n,int start,int middle,int end){ if(n == 1){ System.out.println(start+"--->" +end); }else{ hanoi(n-1,start,end,middle);//把第一个上的n-1个移到中间 System.out.println(start+"--->"+end);//把第一个上的一个移到最后 hanoi(n-1,middle,start,end);//把中间的n-1个移到最后 } } }
汉诺塔
最新推荐文章于 2024-08-07 20:15:08 发布