只见一道门上面写着东西:
闯关规则
闯关可以分为团体和单人。团体闯关只要有一个人过关则为整个团体过关,单人则为单人过关,单人过关所取得的钥匙能够进行转让和买卖。
过关的具体实现为打开下一关的大门。
每一关空间中都有一把钥匙可以打开下一关的大门,拿到钥匙的方法有两种:一种是直接破解存储钥匙的密码箱;一种是通过暴力方式打破密码箱。密码箱的破解难度根据关数逐渐增加。
过关的方式也有三种:一种是通过拿到钥匙打开大门;一种是通过直接暴力打破大门;第三种是通过直接破开服务空间进入下一关,而第三种存在一定的危险,因为破开空间存在着不稳定性,也许你会直接进入非常靠后的关,也许会回到前面你已经闯过的关。
无论是团体还是单人,每一个人有一次尝试机会进行破关。破关不成功则自动丧失破关权,丧失破关权的个人和团体会被踢出服务空间,丧失破关权的黑客徽章将不能进入真理之门。当然,如果有人可以破解真理之门获得破关权,则可以继续进行闯关。
此次闯关时间为8小时,请大家注意时间,8小时过后如果没有一个人进入第八十一关,真理之门将关闭。
看着大门上写的东西,大家都有一点点惊讶,真理之门?这到底是在搞什么?
就在大家有点迷糊的时候,突然,大家看到这个不大不小的房间正中央出现了一个很特别的正方体建筑,只见这个建筑似乎是用玻璃做成的,里面放着一把金黄色的钥匙,钥匙的末尾刻着一个阿拉伯数字1。
只见玻璃上面同样刻着一段话写道:“请输入可将圆周率计算到小数点后一亿位的程序,密码箱会自动打开。”
圆周率,一般以π来表示,是一个在数学及物理学普遍存在的数学常数。它定义为圆形之周长与直径之比。它也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。
古人计算圆周率,一般是用割圆法。即用圆的内接或外切正多边形来逼近圆的周长。阿基米德用正96边形得到圆周率小数点后3位的精度;刘徽用正3072边形得到5位精度;鲁道夫用正262边形得到了35位精度。这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。下面挑选一些经典的常用公式加以介绍。除了这些经典公式外,还有很多其它公式和由这些经典公式衍生出来的公式,就不一一列举了。
1、马青公式
π=16arctan15…4arctan1239
这个公式由英国天文学教授约翰?马青于1706年发现。他利用这个公式计算到了100位的圆周率。马青公式每计算一项可以得到1。4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
还有很多类似于马青公式的反正切公式。在所有这些公式中,马青公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,马青公式就力不从心了。
2、拉马努金公式
1914年,印度天才数学家拉马努金在他的论文里发表了一系列共14条圆周率的计算公式。这个公式每计算一项可以得到8位的十进制精度。1985年Gosper用这个公式计算到了圆周率的17;500;000位。
1989年,大卫?丘德诺夫斯基和格雷高里?丘德诺夫斯基兄弟将拉马努金公式改良,这个公式被称为丘德诺夫斯基公式,每计算一项可以得到15位的十进制精度。1994年丘德诺夫斯基兄弟利用这个公式计算到了4;044;000;000位。丘德诺夫斯基公式的另一个更方便于计算机编程的形式是:
3、AGM(Arithmetic…Geometric Mean)算法
高斯…勒让德公式:
这个公式每迭代一次将得到双倍的十进制精度,比如要计算100万位,迭代20次就够了。1999年9月,日本的高桥大介和金田康正用这个算法计算到了圆周率的206;158;430;000位,创出新的世界纪录。
4、波尔文四次迭代式:
这个公式由乔纳森?波尔文和彼得?波尔文于1985年发表,它四次收敛于圆周率。
5、bailey…borwein…plouffe算法
这个公式简称BBP公式,由David Bailey; Peter Borwein和Simon Plouffe于1995年共同发表。它打破了传统的圆周率的算法,可以计算圆周率的任意第n位,而不用计算前面的n…1位。这为圆周率的分布式计算提供了可行性。
红色球:“大家看清楚了,不知道你们的意见是怎么样的?”
黄金剑:“当然是直接拿钥匙了,对了,谁记得圆周率的计算公式呀?”
射日弓:“佛曰:不可说!”
飘雪:“马上用一个搜索引擎查一下就可以了。我觉得这个闯关我们得注意好时间比,有些关也许问题太难,就必须用暴力方式进行闯关,但有些关可以直接破解密码箱取得钥匙,那样也许时间用得更少一些,那就可以直接拿钥匙。”
拳头:“嗯,就是这样,我们必须在第一时间内确定到底是破解密码拿钥匙还是进行暴力破解。我想,这个问题应该不是很难。”
红色球:“那我们就拿钥匙吧,这个简单的任务谁来完成?”
飘雪:“我来吧,我已经找到了计算公式了,对了,我们要用什么语言来编写程序呢?”
黄金剑:“这到是个问题!”
拳头:“就用C语言吧,照理说它的目标只是实现功能,应该没有语言限制。最坏的情况就是把C语言进行编译最后转换为通用机器语言程序而已!”
飘雪:“嗯,好。”
就在飘雪工作的时候,外面,萧扬的电话响了。