// 有柱子 A,B,C // 将n个圆盘分成 一个上盘,一个下盘,每次移动都是 /* n=1的时候,直接从A柱子到C柱子 n=2的时候 有大盘在下,小盘在上 1.A柱子上的小盘移动到B上, 2.A柱子上的大盘移动到C上, 3.再将B柱子上的小盘移动到C上 n=3的时候,有圆盘1,2,3 先把1,2看成小盘,把3看成大盘 1.先将小盘(1,2)从A柱子移动到B柱子 n-1 2.再将大盘(3)从A柱子移动到C柱子 n 3.再将小盘(1,2)从B柱子移动到C柱子 n-1 n=4的时候,有圆盘1,2,3,4 先把1,2看成小盘,把3看成大盘 1.先将小盘(1,2,3)从A柱子移动到B柱子 2.再将大盘(4)从A柱子移动到C柱子 3.再将小盘(1,2,3)从B柱子移动到C柱子 * */ <script> let hanoi = (numer=2,A='A柱子',B='B柱子',C='C柱子')=>{ if(numer<=0) return hanoi(numer-1,A,C,B) console.warn(`盘子${numer}从${A}移动到${C}`) hanoi(numer-1,B,A,C) } hanoi() </script>