#include <iostream> // 预编译命令
using namespace std;
int step=1; // 整型全局变量,预置1,步数
void move(int, char, char, char); // 声明要用到的被 调用函数
int main() // 主函数
{ // 主程序开始
int n; // 整型变量,n为盘数,
cout << "请输入盘数 n="; // 提示信息
cin >> n; // 输入正整数n
cout<< "在3根柱子上移" // 输出提示信息
<< n << "只盘的步骤为:"<<endl;
move(n,'a','b','c'); // 调用move函数
return 0; // 主函数结束
}
void move(int m, char p, char q, char r)
{ // 自定义函数体开始
if (m==1) // 如果m为1,则为直接可解结点,
{
// 直接可解结点,输出移盘信息
cout<<"["<<step<<"] move 1# from "<<p<<" to "<<r<<endl;
step++; // 步数加1
}
else // 如果不为1,则要调用move(m-1)
{
move(m-1,p,r,q); // 递归调用move(m-1)
//直接可解结点,输出移盘信息
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载