第十三周上机任务-项目3(扩展-求移动盘子的 次数(数学函数))--汉诺塔

来源:互联网 发布:淘宝手机首页装修代码 编辑:程序博客网 时间:2024/05/26 12:56
/*移动盘子的 总次数为pow(2,n)-1;n为盘子的总个数      /*          02.* Copyright (c) 2011, 烟台大学计算机学院               03.* All rights reserved.               04.* 文件名称:fibnacct.cpp               05.* 作者:袁静               06.* 完成日期:2012 年11月24日               07.* 版本号:v1.0               08.* 对任务及求解方法的描述部分              09.* 输入描述:无               10.* 问题描述:     11.* 程序输出:移动盘子的 总次数account以及移动方案           12.* 问题分析:运用数学函数                          14.*/       #include <iostream>      #include <cmath>;using namespace std;       void move(int, char, char,char);    int main()    {   int n,count;cout<<"请输入盘子的 总数为: "<<endl;cin>>n;count=pow(2,n)-1;    move(n,'A','B','C');        cout<<" 移动盘子的次数为"<<count<<endl;return 0;    }            void move(int n, char A, char B,char C)    {        if(n==1)      {            cout<<A<<"-->"<<C<<endl;            return;        }        else        {            move(n-1,A,C,B);            cout<<A<<"-->"<<C<<endl;            move(n-1,B,A,C);          return;       }    }    

原创粉丝点击