我找了本谭sir的书看了,还不太明白
就是递归后,每一级是怎么返回的呢 ?
整个逻辑好象明白,又好象不明白,很模糊的感觉
假设是4个盘
move(int n,int x,int y,int z)
{
if(n==1)
printf("%c-->%c\n",x,z);
else
{
move(n-1,x,z,y);/
*就是先把3个盘移到y上接着就是move(n-2,x,z,y)吗?直到只有一个盘,然后返回的过程不太明白*/ printf("%c-->%c\n",x,z);
move(n-1,y,x,z);
}
}
main()
{
int h;
printf("\ninput number:\n");
scanf("%d",&h);
printf("the step to moving %2d diskes:\n",h);
move(h,'a','b','c');