您的位置:首页 > 其它

菜鸟成长之汉诺塔

2011-10-14 15:51 190 查看
汉诺塔问题,思想是用递归的办法,每次处理的过程是将n-1个先从A移动到B,再将最大的那个从B移动到C,再将B上的n-1个移动到C。代码

#include<stdio.h>

void Hanoi(int n,char a,char b,char c)

{

    if(n==1)

        printf("move %c to %c\n",a,c);

    else

    {

        Hanoi(n-1,a,c,b);

        printf("move %c to %c\n",a,c);

        Hanoi(n-1,b,a,c);

    }

}

void main(void)

{

    int n;

    char A='1',B='2',C='3';

    printf("Enter the number of disks:");

    scanf("%d",&n);

    printf("The solution for %d :\n",n);

    Hanoi(n,A,B,C);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c