第一章
汉诺塔问题
关键步骤
第一步:将n-1个盘子从A移到B;
第二步:将第n个盘子从A移到C;
第三步:将n-1个盘子从B移到C;
#include "pch.h"
#include <iostream>
using namespace std;
void TowersofHanoi(int n, char x, char z, char y)
{
if (n>=1)
{
TowersofHanoi(n - 1, x,y,z);//将n-1个盘子从x移动到z
cout << "From" << x << "To" << z<< endl;//将第n个盘子移动到y
TowersofHanoi(n - 1,y,z,x);//将z上的盘子移动到y
}
}
int main()
{
TowersofHanoi(4, 'A','C','B');
return 0;
}