首先是参考资料:https://blog.csdn.net/u011329762/article/details/41015047
我在原文的基础上改了一点自己要的东西,例如把各个盘子换成ABCD…来表示,把三个柱子换成x1,x2,x3来表示,然后递归实现汉诺塔移动过程,把每个盘子的移动步骤都展示出来,以及弄点自己的排版,改成C++啥的,思路的话看大佬们的资料就行了。
代码:
// Hnt1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
/* 递归实现汉诺塔移动过程(设最上面的盘子为 A 盘子) */
string a = "x1", b = "x2", c = "x3"; //定义三个柱子x1,x2,x3