C语言 实现汉诺塔攻略

#include <stdio.h>

void Hanoi(int n,char X,char Y,char Z)
{
    
    
	if(n == 1)
	{
    
    
		printf("%c -> %c\n",X,Z);
	}
	else
	{
    
    
		Hanoi(n-1,X,Z,Y);				//将X(63个)借助Z转移到Y上 
		printf("%c -> %c\n",X,Z);		//将X(64个)移动到Z上 
		Hanoi(n-1,Y,X,Z);				//将Y(63个)移动到Z上 
	}
 } 
 
 int main()
 {
    
    
	int a;
	printf("X--Y--Z\n");
	printf("请输入汉诺塔的层数:");
	scanf("%d",&a);
	
	Hanoi(a,'X','Y','Z');
 }

猜你喜欢

转载自blog.csdn.net/The_RedMaple/article/details/109136320