/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院
* All rightsreserved.
* 文件名称:123.cpp
* 作 者:李巧丽
* 完成日期:2012年11月24日
* 版 本 号: v1.0
* 输入描述:略
* 问题描述:略
* 程序输出:略
* 问题分析:略
*/
#include <iostream>
using namespace std;
long move(int n, char A, char B,char C);
int main()
{
long count;
count=move(6,'A','B','C');
cout<<"6"<<"个盘子需要移动"<<count<<"次。"<<endl;
return 0;
}
long move(int n, char A, char B,char C)
{
long i,j;
if(n==1)
{
cout<<A<<"-->"<<C<<endl;
return 1;
}
else
{
i=move(n-1,A,C,B);
cout<<A<<"-->"<<C<<endl;
j=move(n-1,B,A,C);
return i+j+1;
}
}
运行结果: