
汉诺塔
#include <stdio.h>
#include <stdlib.h>
void move(int n, char x, char y, char z)
{
if( 1 == n )
{
printf("%c--->%cn", x, z);
}
else
{
move(n-1, x, z, y); //n-1个盘子从x借助z移动到y
printf("%c--->%cn", x, z); //将第n个盘子从x 移动到z
move(n-1, y, x, z); //n-1个盘子从y借助x移动到z
}
}
int main()
{
int n;
scanf("%d", &n);
move(n, 'X', 'Y', 'Z');
return 0;
}




近期评论