汉诺塔问题(递归实现)

汉诺塔(c语言)

#include
///参数n代表有多少层,A,B,C分别代表三根柱子。这个函数表示从A移到C,绕过B
void hanoi(int n, char A, char B, char C)
{
	if (n == 1)
	{
		printf("%c -> %c\n", A, C);
	}
	else
	{
		hanoi(n-1,A, C, B);
		printf("%c -> %c", A, C);
		hanoi(n-1, B, A, C);
	}
	
}
int main()
{
	hanoi(4,'A','B','C');
	return 0;
}

你可能感兴趣的:(编程)