#include<stdio.h>
void Hanoi(int n,char a,char b,char c)//圆盘个数,原塔,辅助塔,目标塔
{
if(n==1)
printf("%c->%c\n",a,c);
else
{
//先实现 把最底下一个圆盘放到目标塔上
Hanoi(n-1,a,c,b);//把n-1个从原塔a,借助目标塔c,移到辅助塔b
printf("a->c\n"); //把最后一个从原塔a,移到目标塔c
//递归
Hanoi(n-1,b,a,c); //把b塔上的圆盘通过a塔移到c塔
}
}
main(){
Hanoi(2,'a','b','c');
}
汉诺塔问题
最新推荐文章于 2022-09-05 16:01:58 发布