/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:王 飞
* 完成日期:2012 年 11月 22日
* 版 本 号:v1.0
* 输入描述: 设置程序输出汉诺塔
* 问题描述:略
* 程序输出:次数
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int main()
{
void han(int n ,char A,char B,char C);
int m;
cout<<"请输入盘子数:";
cin>>m;
cout<<"移动"<<m<<"个盘子方案是"<<endl;
han(m,'A','B','C');
return 0;
}
void han(int n,char A,char B,char C)
{
void move(char x,char y);
if (n==1)
{
move(A,C);
}
else
{
han(n-1,A,C,B);
move(A,C);
han(n-1,B,A,C);
}
}
void move(char x,char y)
{
cout<<x<<"-->"<<y<<endl;
}
输出截图:
心得体会:
汉诺塔不会做,,参考参考!