您好,欢迎来到知库网。
搜索
您的当前位置:首页汉诺塔问题(Hanoi Tower)

汉诺塔问题(Hanoi Tower)

来源:知库网

C语言实现代码

#include<stdio.h>
void Hanoi(char a,char b,char c,int n)  //定义函数设置from:a ,temp:b ,to:c  
{
    if(n==1)
    {
        printf("%c->%c\n",a,c);  //printf()函数传入变量a,c
    }
    else  
    {
        Hanoi(a,c,b,n-1);  //移动上层的n-1个碟子从a柱子移到b柱子,c为交换柱子
        printf("%c->%c\n",a,c);  //移动最底层的一个碟子
        Hanoi(b,a,c,n-1);
    }
}
void main()
{
    int a; 
    printf("input a number:");
    scanf("%d",&a);

    Hanoi('A','B','C',a);
}

函数Hanoi()功能将n个碟子从a移到c,b为交换的柱子。c也可以为交换柱子,可以指定from temp to

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务