4柱汉诺塔问题——递归法

主要思想:

函数Hanoi4:
先将A柱子上分为两部分n-k个盘子 和k个盘子
第一步:将A柱上方n–k个盘子经过C、D柱移至B柱。
第二步:将A柱所剩的k个盘子经过C柱移至D柱。
第三步:将B柱上的所有盘子经过A、C柱移至D柱。

函数Hanoi3:
(三柱汉诺塔算法)
1)、将A柱上方k-1个盘子经过B柱移至C柱。
2)、将C柱上最后一个盘子直接移至C盘。
3)、将B柱上所有盘子经过A柱移至C柱。

其中需要FourPegsHanoi算法得到最少移动次数f(i)
4柱汉诺塔问题——递归法_第1张图片

#include
#include
#include
#include
using namespace std;
void three(int x,char a,char b,char c)
{
    if(x == 1){
    	cout<"<"<"<> n;
    four(n,'A','B','C','D');
    return 0;
}

你可能感兴趣的:(算法)