/*
*Copyright (c)2013,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:孙玲倩
*完成日期:2013年11月25日
*版本号:v1.0
*问题描述:用递归的方法求汉诺塔次数
*/
#include <iostream>
using namespace std;
const int times=3;
long move (int,char,char,char);
int main()
{
long a;
a=move(times,'A','B','C');
cout <<times<<"个盘子需要移动"<<a<<"次."<<endl;
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;
}
}
用递归的方法汉诺塔求次数
最新推荐文章于 2024-05-19 20:45:02 发布