ps:han中,第一个char表示盘子出发的柱子,第二个char表示盘子要过渡的柱子,第三个char表示盘子最终到达的柱子。
#include<stdio.h>
void han(char one,char two,char three,int n)
{
if(n==1)
move(one,three);
else
{
han(one,three,two,n-1);
move(one,three);
han(two,one,three,n-1);
}
}
void move(char x,char y)
{
printf("%c->%c\n",x,y);
}
int main()
{
int n;
printf("输入盘子个数:");
scanf("%d",&n);
han('A','B','C',n);
return 0;
}