第十三周项目3 汉诺塔

来源:互联网 发布:网络极客是什么 编辑:程序博客网 时间:2024/06/10 19:19
/*   * 程序的版权和版本声明部分   * Copyright (c)2012, 烟台大学计算机学院   * All rightsreserved.   * 文件名称:0003.cpp                              * 作    者:王鼎                               * 完成日期:2012年11月25日   * 版 本 号: v1.0         * 输入描述:无   * 问题描述:略* 程序输出:汉诺塔搬盘子方式 * 问题分析:略 */   #include<iostream>   using namespace std;  int main()  {      void han(int n ,char A,char B,char C);      int m=4;      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;  } 


运行结果:

更改盘子数的时候把m的值改掉就好。也可以直接输入,不过不能输入太大的数。

心得体会:毫无PS痕迹……

原创粉丝点击