qj1225 发表于 2019-3-22 15:02

自学C语言之汉诺塔问题(经典递归问题)

对编程很感兴趣,所以开始自学C语言,今天看到了递归的问题,基本理解了汉诺塔问题,有点开心。
#include<stdio.h>

int main()
{
        void hanoi(int m,char one,char two,char three);
        int n;
        printf("Please input the number of diskes:");
        scanf("%d",&n);
        printf("The step of diskes is:%d\n",n);
        hanoi(n,'A','B','C');
        return 0;
}

void hanoi(int m,char one ,char two ,char three)
{
        void move(char x,char y);
        if(m==1)
                move(one,three);
        else
        {
                hanoi(m-1,one,three,two);
                move(one,three);
                hanoi(m-1,two,one,three);
        }
}

void move (char x,char y)
{
        printf("%c-->%c\n",x,y);
}
第一次发帖,在这里复习一下知识。
这里真是一个好地方,都是大佬。期待着有一天我也可以和你们一样。

苏紫方璇 发表于 2019-3-22 22:04

感觉可以和这个帖子的楼主交流一下,代码原理相同
汉诺塔问题的解决
https://www.52pojie.cn/thread-904393-1-1.html

低调的菜鸡 发表于 2019-3-23 22:43

先支持一波,欢迎小老弟进入算法的大坑。

L浪子 发表于 2019-4-23 19:52

表示,完全没看懂汉诺塔!!!哎,
页: [1]
查看完整版本: 自学C语言之汉诺塔问题(经典递归问题)