您的位置 电脑知识爱好者 >> 编程知识 >> 关于汉诺塔的一个问题!

关于汉诺塔的一个问题!

电脑知识爱好者互联网本站整理2007-9-6 9:41:24
知识重点:用C++编写一个程序,从屏幕输出4阶汉诺塔问题的求解过程。(hanio.cpp) (从1号柱移到3号柱,以2号柱为中介) 先谢谢了! #includestdio.h #includeiostream.h int main() { int hanoi(int ..

用C++编写一个程序,从屏幕输出4阶汉诺塔问题的求解过程。(hanio.cpp) (从1号柱移到3号柱,以2号柱为中介) 先谢谢了! #include<stdio.h>

#include<iostream.h>

int main()

{

int hanoi(int n,char out,char two, char three);

int m;

cin>>m;

hanoi(m,'A','B','C');

cin.get();cin.get();

}

int hanoi(int n,char one,char two,char three)//将N个盘子从A到C,借助B坐

{ int move(char x,char y);

if(n==1) move (one,three);//如果A上只有最后1个盘子了,把他从A-->C

else

{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}//不是的话,按我说的,就是老和尚的想法

}

int move (char x,char y)//输出,没的好说的

{

cout<<x<<"-->"<<y<<" "<<endl;

}

你试一试这样行不行

运行时输入阶数`

  • 递归啊,怎么简单的程序就自己写吧

  • 教科书上有这道题。

    参与评论
    相关内容
  • 关于我们 | 隐私政策 | 站点地图 | 站长博客|京ICP备07025396号
    添加到百度搜藏 添加到百度搜藏 电脑知识爱好者Copyright ?2006-2008版权所有 我要啦免费统计