第二周项目--汉诺塔问题

来源:互联网 发布:石某鹏情杀网络女主播 编辑:程序博客网 时间:2024/06/15 09:18

问题及代码:

/*  *Copyright (c) 2017, 烟台大学计算机学院  *All rights reserved.  *文件名称:wbc.cpp  *作    者:王百琛 *完成日期:2017年9月13日  *版 本 号:v1.0  *  *问题描述:汉诺塔问题(计算移动n个盘子需要移动的次数)  *输入描述:盘子数目n  *程序输出:最终需要移动的次数  */  #include <cstdio>  #include<iostream>  using namespace std;  long move(int, char, char,char);  int main()  {      long count;      int discCount;      cout<<"请输入汉诺塔的盘子数:";      cin>>discCount;      count=move(discCount,'A','B','C');      printf("%d个盘子需要移动%ld次\n", discCount, count);      return 0;  }    long move(int n, char A, char B,char C)  {      long c1,c2;      if(n==1)          return 1;      else      {          c1=move(n-1,A,C,B);          c2=move(n-1,B,A,C);          return c1+c2+1;      }  }  

运行结果:


知识点总结:

   汉诺塔经典问题

学习心得:


    这是第一次在CSDN,发表博文,按照老师的教程一步步来的,一定要专业,yep~

原创粉丝点击