4个柱子的汉若塔问题,输入盘子数,输出最少的步骤数.自己编了一个,好象不对,哪位高手帮忙!
#include<iostream.h>
long int hanoi(int m)
{
long int p;
if(m==1)
p=1;
else
if(m==2)
p=3;
else
p=2*hanoi(m-2)+3;
return p;
}
int main()
{
int n;
long int q;
while(cin>>n)
{
q=hanoi(n);
cout<<q<<endl;
}
return 0;
}
多多指教!
[此贴子已经被作者于2007-11-2 13:43:00编辑过]