C++---汉诺塔问题(递归)

代码

#include<iostream>
using namespace std;
static int count=1;
void move(char src,char dest)
{
	cout<<"第"<<count<<"步:  "<<src<<"------->"<<dest<<endl;
	count++;
}
void hanoi(int n,char src,char medium,char dest)
{
	if(n==1)
		move(src,dest);
	else
	{
		hanoi(n-1,src,dest,medium);
		move(src,dest);
		hanoi(n-1,medium,src,dest);

	}
}
int main()
{
	int m;
	//cin>>m;
	cout<<"请输入汉诺塔  层数:"<<endl;
    cin>>m;
	cout<<"步骤是:"<<endl;
	hanoi(m,'A','B','C');

	return 0;
}

程序运行界面

在这里插入图片描述

发布了155 篇原创文章 · 获赞 110 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_44225182/article/details/103625349