#include<stdio.h>
int count=0;
int p(char a,char b)
{
count++;
printf("%c-->%c\n",a,b);
}
int f(int n,char a,char b,char c)
{
if(n==1)
{
p(a,c);
//return 0;
}
if(n>1)//这里if去掉的话上面就一定要添加return
{
f(n-1,a,c,b);
p(a,c);
f(n-1,b,a,c);
}
}
int main()
{
int n;
scanf("%d",&n);
f(n,'A','B','C');
printf("完成需要%d步",count);
return 0;
}
递归问题,实例3Hanoi汉诺塔问题
最新推荐文章于 2023-07-07 05:00:00 发布