欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[递归] 汉诺塔 - C语言

程序员文章站 2022-05-08 23:09:44
...
#include<stdio.h>

//将n个盘子从x借助y移动到z
void move(int n,char x,char y,char z) {
	if (1==n)
		printf("%c-->%c\n",x,z);
	else {
		move(n-1,x,z,y);	//将n-1个盘子从x借助z移动到y
		printf("%c-->%c\n",x,z);
		move(n-1,y,x,z);
	}
}

int main() {
	int n;
	printf("请输入汉诺塔的层数:");
	scanf("%d",&n);
	printf("移动的步骤如下:\n");
	move(n,'X','Y','Z');
	return 0;
}
相关标签: 递归