原创 JAVA学习之——用JAVA实现汉诺塔经典算法(原创)

2009-11-24 10:42 1890 7 7 分类: 软件与OS

关于汉诺塔的由来大家可以参考一下这个网站


http://baike.baidu.com/view/191666.htm?fr=ala0


有趣的是,如果一个人每秒移动一个盘子的话,那么移完64个盘子需要2^64-1秒,也就是几百亿年,据说地球的寿命是150多亿年,那么移完汉诺塔的64个盘子之后已经到地球末日了,真是一个“地老天荒”的算法


其实汉诺塔运用的是函数的是递归调用,就是函数不停地调用自己本身,如果大家对递归调用不熟悉,可以参考一下谭浩强写的那本C语言教材,里面的解释很全面很详细


我用C语言试过,当输入64个盘子时,计算机运行几个小时都没有算完,让人觉得不可思议


后来我又用java重写了一下这个程序,运用了面向对象的程序设计方法。


219cbc8a-4775-4296-949c-b10b4a94bab8.jpg


下面附上我的C语言源程序和java源程序,有什么不足之处,请大家指正:


rarrar


注意:java程序的运行环境我用的是JDK1.5    C程序的运行环境我用的是VC6.0

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条