Implementación del lenguaje C de Hanoi (Torre de Hanoi)

Idea básica: (como se muestra) el
Dos capas
código es el siguiente

#include<stdio.h>
void move(int n,char A,char C)
{
    
    
	printf("%c->%c\n",A,C);
}
void hanoi(int n,char A,char B,char C)//将n个盘子由初始塔移动到目标塔(利用借用塔)
{
    
    
	if (n==1)
		move(1,A,C);//只有一个盘子是直接将初塔上的盘子移动到目的地
	else
	{
    
    
		hanoi(n-1,A,C,B);//先将初始塔的前n-1个盘子借助目的塔移动到借用塔上
		move(n,A,C); //将剩下的一个盘子移动到目的塔上
		hanoi(n-1,B,A,C);//最后将借用塔上的n-1个盘子移动到目的塔上
	}
}
int main()
{
    
    
	hanoi(2,'A','B','C');//将n个盘子由初始塔移动到目标塔(利用借用塔)
	return 0;
}

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Gunanhuai/article/details/89077042
Recomendado
Clasificación