本身用Java写了一个前台进行四柱汉诺塔的移动演示,是按照最优次序进行移动的,连接里有详细的代码实现:
(2)再把A柱上的N-K个盘子,通过C,移动到D上(这个子问题就是三柱汉诺塔问题,他的移动次数为2^(n-k) - 1。)
(2)再把A柱上的N-K个盘子,通过C,移动到D上(这个子问题就是三柱汉诺塔问题,他的移动次数为2^(n-k) - 1。)–移动次数为 2^(n-k) - 1
(3)再把k个盘子,从B柱上通过A,C移动到D上。– 移动次数为dp[ k ]web
初始化 : dp[1] = 1(只有一个盘子,只须要一次移动);dp[2] = 3(两个盘子至少要移动三次)svg