设a,b,c是3个塔座,开始时,在塔座a上有n个圆盘,这些圆盘自上而下,堆叠在一起,编号小1在上,编号大n在下
根据动态规划公式:
hanoi(n,a,b,c)=hanoi(n-1,a,c,b)+move(n,a,b)+hanoi(n-1,c,b,a);
//Hanoi塔问题
//表示将n个圆盘从a移动到b
function hanoi(n,a,b,c) {
if(n>0){
hanoi(n-1,a,c,b);
move(n,a,b);
hanoi(n-1,c,b,a);
}
}
//将编号为n从n1移动到n2
function move(n,n1,n2){
console.log(n,n1+'->'+n2)
}
hanoi(4,'a','b','c')