汉诺塔算法

汉诺塔算法

if (n>1)
{
    先把A柱子上的前n-1个盘子从A借助C移到B
    将A柱子上 的第n个盘子直接移到C
    再将B柱子上的n-1个盘子借助A移到C
}
void hanoi(char A, char B, char C, int n)//三根柱子A,B,C;A柱子上的盘子的个数;功能:把A柱子上的n个盘子借助B柱子移动到C上
{
    if (n > 1)
    {
        hanoi(A, C, B, n-1);
        printf("%c->%c ", A, C);
        hanoi(B, A, C, n-1);
    }
}

posted on 2015-12-04 23:21  码农康康  阅读(103)  评论(0编辑  收藏  举报

导航