汉诺塔

我是研究僧i 提交于 2019-12-09 16:45:54

【代码】

#include <stdio.h>

void move(char s1,int n, char s2)
{
	printf("move disk %d from %c to %c\n",n, s1, s2);
}

//X表示原始柱,Y为辅助柱,Z为目标注
void Hanoi(int n, char X, char Y, char Z)
{
	if (n == 1)
	{
		move(X,n, Z);
	}
	else
	{
		Hanoi(n - 1, X, Z, Y);
		move(X, n,Z);
		Hanoi(n - 1, Y, X, Z);

	}
}
int main()
{

	Hanoi(3, 'a', 'b', 'c');

	return 0;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!