汉诺塔史上最详解

汉诺塔原理:
一块黄铜板上插着三根宝石针,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。一次只移动一片,不管在哪根针上,小片必须在大片上面,最终将第一根宝石针的所有金片移至第三根宝石针上!

下面已3片金片为例:
在这里插入图片描述
js实现代码:

let a = [], b = [], c = [];
let num = 3;  //多少片金片
for (let i=1; i<=num; i++) {
  a.push(i)
}
function fn(num , a, b, c) {
  if ( num > 0) {
    fn(num - 1, a, c, b)
    //核心逻辑
    c.unshift(a.shift())
    fn(num - 1, b, a, c)
  }
}
//执行程序
fn(num, a, b, c)

代码原理:
在这里插入图片描述

发布了218 篇原创文章 · 获赞 35 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/qq_41614928/article/details/104208022