使用JS代码在控制台中打印汉诺塔游戏步骤,塔的层数可自由设定。
下面以5层为例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
/*
* n:汉诺塔
* 1.头:
* n==1
* 2.体:
* 前n-1:从开始--》临时
* n:从开始--》目标
* 前n-1:从临时--》目标
*/
/**
* n层汉诺塔移动攻略
* @param {Object} n:层
* @param {Object} a:开始
* @param {Object} b:临时
* @param {Object} c:目标
*/
var count = 0;
function hanoi(n,a='A',b='B',c='C'){
if(n==1){
count++;
console.log(count+"次:"+n+":"+a+"-->"+c);
return ;
}
hanoi(n-1,a,c,b);
count++;
console.log(count+"次:"+n+":"+a+"-->"+c);
hanoi(n-1,b,a,c);
};
hanoi(5);
console.log("一共有"+count+"步");
</script>
</body>
</html>