代码不是自己写的,copy数据结构书上的,看的懂,但是写不出来。
//代码很简洁,但却是经典
#include <stdio.h>
int count =0;
void move(char x,int n,char y)
{
count++;
}
// 从x开始,y做辅助塔,移动到z上
void hanoi(int n,char x, char y, char z)
{
if(n == 1)
{
move(x,1,z);
}
else
{
hanoi(n-1,x,z,y);
move(x,n,z);
hanoi(n-1,y,x,z);
}
}
int main()
{
char a;
char b;
char c;
hanoi(3,a,b,c);
printf("共移动:%d",count);
return 0;
}