#include <stdio.h>
#define move(x,y) printf("%d\t%c -> %c\n",i,x,y)
void hanoi(int i,char a,char b,char c)
{
if(i==1)
move(a,c);
else
{
hanoi(i-1,a,c,b);
move(a,c);
hanoi(i-1,b,a,c);
}
}
int main()
{
int i;
printf("请输入盘子个数:");
scanf("%d",&i);
hanoi(i,'A','B','C');
return 0;
}
精简的 递归 汉诺塔 3个以上的盘子理解起来真难啊!!!
最新推荐文章于 2023-04-24 18:57:32 发布