自学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);
}
第一次发帖,在这里复习一下知识。
这里真是一个好地方,都是大佬。期待着有一天我也可以和你们一样。
感觉可以和这个帖子的楼主交流一下,代码原理相同
汉诺塔问题的解决
https://www.52pojie.cn/thread-904393-1-1.html
先支持一波,欢迎小老弟进入算法的大坑。 表示,完全没看懂汉诺塔!!!哎,
页:
[1]