第13周项目12-汉诺塔扩展

来源:互联网 发布:php个人信息管理系统 编辑:程序博客网 时间:2024/05/17 23:53
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: fibnacci.cpp* 作    者: 孔云* 完成日期:2013年11月23日* 版 本 号: v1.0* 输入描述:无* 问题描述:编制移动盘子方案。* 程序输出:盘子移动次数。* 问题分析:采用递归的方法……*/#include <iostream>using namespace std;void move(int,char,char,char);void dong(char,char);void cishu(int);int main(){    int n;    cout<<"请输入盘子个数:";    cin>>n;    move(n,'A','B','C');    return 0;}void move(int n,char A,char B,char C){    int i=1,sum=0;    if(n==1)    {        dong(A,C);        cishu(1);    }    else    {        move(n-1,A,C,B);        dong(A,C);        cishu(i);        move(n-1,B,A,C);    }    sum+=i;}void dong(char a,char b){    cout<<a<<"-->"<<b;}void cishu(int sum){    cout<<"移动次数:"<<sum<<endl;}


心得体会:为什么那些移动的次数加不起来呢?谁帮一下这个可怜的笨鸟啊快哭了   为什么每一次移动的次数不加起来?大哭

原创粉丝点击