【算法】汉诺塔问题(Hanoi)

版权声明:本人菜鸟一只,如文章有错误或您有高见,请不吝赐教 https://blog.csdn.net/qq_41138935/article/details/81433937
#include<iostream>

using namespace std;

//盘子的数量
#define numOfDisks 3

void Move(int n,char x,char y){
	cout<<"move "<<n<<" from "<<x<<" to "<<y<<endl;
} 

void Hannoi(int n,char a,char b,char c){
	if(n==1)
		Move(1,a,c);
	else{
		Hannoi(n-1,a,c,b);
		Move(n,a,c);
		Hannoi(n-1,b,a,c);
	}
}
int main(){
	
	cout<<"The solution for Hanoi,when the number of disks is "<<numOfDisks<<endl;
	Hannoi(numOfDisks,'a','b','c');
	
	return 0; 
}

猜你喜欢

转载自blog.csdn.net/qq_41138935/article/details/81433937