汉诺塔问题
古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这64个盘子从A座移动到C座,但每次只能允许移动一个盘子,并且在移动的过程中,三个座上的盘子始终保持大盘在下,小盘在上。在移动的过程中可以利用B座,要求输出移动的步骤。(题目来自 MOOC 程序设计与算法(二) )
此问题可以分解为三步,(第一步)先把n-1个盘子从A移动到B,(第二步)然后把第n个盘子移动到C,(第三步)然后再从B把n-1个盘子移动到C。
利用递归实现。
以下为代码:
#include<iostream>
using namespace std;
void Hano