您的位置:首页 > 其它

hanoi塔问题

2014-08-11 21:27 127 查看




#include

int c=0;

void move(char x,int i,char y)

{

printf("第%d步,第%d个圆盘从%c移到%c\n",++c,i,x,y);

}

void hanoi(int n,char x,char y,char z)//从x移到z,y做辅助

{

if(n==1)

move(x,1,z);

else{

hanoi(n-1,x,z,y); //把n-1个从x移到y,z做辅助
move(x,n,z);

hanoi(n-1,y,x,z);
//把y上的n-1借助x移到z

}

}

void main()

{

int n=5;

hanoi(n,'a','b','c');

}

递归调用的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: