hanuo.cpp

来自「汉诺塔问题的递归实现 说明很详细 大家可以自由下载哦」· C++ 代码 · 共 34 行

CPP
34
字号
#include <iostream>
using namespace std;
int step=1;

void move(int,char,char,char);
int main()
{
	int n;
	cout<<"请输入盘子的个数n=";
	cin>>n;                              //n欲挪动盘子的数目
	cout<<"在3根柱子上移"<<n
		<<"只盘子的步骤为:"<<endl;
	move(n,'A','B','C');
	return 0;
}

void move(int m,char a,char b,char c)
{
	if(m==1)
	{
		cout<<"[第"<<step<<"步] 将1号盘子从"
			<<a<<"移动到"<<c<<endl;
		step++;
	}
	else
	{
		move(m-1,a,c,b);
		cout<<"[第"<<step<<"步] 将"<<m
			<<"号盘子从"<<a<<"移动到"<<c<<endl;
		step++;
		move(m-1,b,a,c);
	
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?