汉诺塔 运行结果问题
原程序
void move(char x,char y)
{
printf("%c-->%c\n",x,y);
}
void hanoi(int n,char one,char two,char three)
{
if(n==1)move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
main()
{
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to moving %3d diskes:\n",m);
hanoi (m,'A','B','c');
input the number of diskes:3 The step to moving 3 diskes: A--C A--B C--B A--C B--A B--C A--C 前面二个结果不能理解,后面的怎么得来的不理解, 那位能详细的把运行结果分析一下吗。 谢谢 | |