青叶


私信TA

用户名:15005097886

访问量:11372

签 名:

等  级
排  名 1944
经  验 2447
参赛次数 0
文章发表 28
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include <iostream>
using namespace std;

void move(int &n, char &x, char &y) {
	//执行移动盘子的操作 
	printf("Move %d from %c to %c\n", n, x, y);
} 

void hanoi(int n,char one, char two, char three) {
	//将n个盘从one座借助two座,移到three座
	if(n==1) {//只有 1 个盘直接移,不需要借助 
		move(n, one, three);
	}
	else {
		hanoi(n-1, one, three, two);
		move(n, one, three);
		hanoi(n-1, two, one, three);
	}
}

int main() {
	int n;
	scanf("%d",&n);
	hanoi(n, '1', '2', '3');
	return 0;
}


 

0.0分

5 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区