软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 源码下载 > Java源码 > 系统相关 > Java汉诺塔(河内塔)演示源代码下载

Java汉诺塔(河内塔)演示源代码

  • 资源语言:简体中文
  • 资源类型:国产软件
  • 资源大小:13 KB
  • 资源等级:3星级
  • 相关链接:Home Page
  • 资源性质:免费版
运行环境:windows
更新时间:2011-06-14 09:52:07
有无插件:无插件

java源码,汉诺塔,河内塔

Java汉诺塔(河内塔)演示代码,汉诺塔可以用很多编程语言来还原,这里使用了JAVA,应该属于算法的范畴吧。关于汉诺塔的故事,它源于印度一个古老的益智传说:上帝创造世界的时候做了三根金刚石柱,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

如果考虑一下把64片金片,由一根针上移到另一根针上,并且始终保持上小下大的顺序。这需要多少次移动呢?这里需要递归的方法。假设有n片,移动次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f(k+1)=2*f(k)+1。此后不难证明f(n)=2^n-1。n=64时:

f(64)= 2^64-1=18446744073709551615

假如每秒钟一次,共需多长时间呢?一个平年365天有 31536000 秒,闰年366天有31622400秒,平均每年31556952秒,计算一下:

18446744073709551615/31556952=584554049253.855年

移完这些金片需要5845亿年以上,天呢!而地球存在至今不过45亿年,太阳系的预期寿命据说也就是数百亿年。真的过了5845亿年,不说太阳系和银河系,至少地球上的一切生命,连同梵塔、庙宇等,都早已经灰飞烟灭。

……

 报告下载错误
点击链接开始下载
本类最新
相关教程
下载说明