hanoi.cpp

来自「汉诺塔求解,很简练的代码」· C++ 代码 · 共 30 行

CPP
30
字号
#include <iostream>
using namespace std;
void Hanoi(int n,char a,char b,char c);
void move(char sour,char dest);
int main()
{
	int n;
	cout<<"请输入汉诺塔圆盘个数:";
	cin>>n;
	Hanoi(n,'A','B','C');
	cout<<"完成!"<<endl;
	return 0;
}
void Hanoi(int n,char a,char b,char c)
{
	if (n==1)
	{
		move(a,c);
	}
	else
	{
		Hanoi(n-1,a,c,b);
		move(a,c);
		Hanoi(n-1,b,a,c);
	}
}
void move(char sour,char dest)
{
	cout<<"把"<<sour<<"石柱最上面的圆盘移动到"<<dest<<"石柱上。"<<endl;
}

⌨️ 快捷键说明

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