宇宙的心弦
细推物理须行乐 何用浮名绊此身

Posts Tagged ‘程序’

佛说…

Posted in Others  by Eagle Fantasy on March 20th, 2010

/*本文为刘冰雁原创~~现有了专门的页面http://taskmobile1.appspot.com/ */

人问“程序有佛性么?”…………大师说“你没看到所有的NULL都是0么?”

程序员说“程序的改进什么时候是终点?”大师说“也许运行就是终点,也许死亡才是终点。就如现在是禅,千年之后也是禅……、”

大师说:“编译器是通人性的,你如果顺着他,他就顺着你,你如果逆着她胡来,他就给你造反。常常给他一些好的程序让他去编译,就如同经常给狗好的骨头。如果连好的骨头都吃不下,那你已经虐待他生病了,这就该让他休息,让他清心。”

佛说:“0个错不是全对,Compile Error 也不是失败”

佛说“你们不用讨论我存不存在,每当你编译运行时,那我就是存在的”

佛说“要平衡,如热二,如牛一…”

佛说“凝结,固化,升华…不变的是物质,损失的是负熵…”

人问佛当年的情事。佛说“我爱过,但没恋爱过”

佛说“我不需要别的祭祀,编译器是最好的祭坛…”

佛说“莫傲,一斑与全豹之间,有热二和混沌的巨壑”

佛说“莫去卧佛寺,卧佛即是我佛”

佛说“程序的美不在于执行,在于编写…因为执行,是禅的事情。”

Read the rest of this entry »

Tags: , , ,

解魔方的小程序

Posted in Others  by Eagle Fantasy on December 11th, 2009

抱歉我好长时间不更新了 最近什么也没干 比较颓废..
近期我们计算概论课有个小课题,我们几个人写了一个3D的解魔方的程序,挂在这里供大家下载吧。这里的算法就是最基本的初级算法,主要供初学者跟着学用的。最优解我也想过一段时间,基本没有思路所以就没写。如果有什么改进建议请留言告诉我~~谢谢~~
下载链接(两个版本 速度稍有不同):

Setup(quick).exe

Setup(slow).exe

(Update:经检测,在Windows 7\Windows vista\Windows XP SP1 SP2下均可顺利运行,但是Windows XP SP3下会产生诡异的我们暂时无法解决的错误…这是个悲剧…)

下面是readme文件:
/************************************************/
made by 刘冰雁 范翔 吴昊天 北京大学物理学院
/************************************************/
用我们的软件可以用来还原你手上的一个魔方。
双击shabby cube.exe,在空白处右击开始。
选择create a new cube,可以产生一个空白的魔方,用户可以通过右击选择颜色的办法把手头上的一个魔方输入到我们的程序中。
选择create randomly,可以让程序随机的产生一个魔方。
在输入了一个魔方之后,单击左键可以让他开始按照我们的算法旋转。之后的任何一个时刻,你都可以通过单击左键让过程暂停/继续。
在输入了魔方之后的任何一个时刻,都可以按住中键不放晃动鼠标来转动观看角度。
缩放窗口可以调节速度。(这个功能可能在某些系统上不行…)
如果您输入了一个魔方之后魔方爆炸了,那说明您的魔方是错误的不可解的,请您检查一下您是否输入时点错了,或者直接把魔方拆掉在重新装起来…

Tags: ,

拈游戏

Posted in Interesting Maths  by Eagle Fantasy on October 21st, 2009

所谓拈游戏的规则是这样的:(在看了沙发的评论之后我才知道其标准名字应该是Nim游戏…)

桌面上有三行硬币,每一行中分别有a1、a2、a3个硬币,其中a1、a2、a3是可以任意指定的正整数。两个人轮流拿走硬币,每一次只能从某一行中拿走任意多个硬币,谁拿走最后一枚硬币谁就赢了。

比如说a1=1,a2=2,a3=3的情况吧,这时如果轮到我拿了,我可以从第三行拿走2枚硬币,或者可以把第三行的三枚硬币全都拿走,等等;但是我不能同时从第一行和第三行里各拿走1枚硬币。这个简单的情况,可以枚举所有可能性得出结论:先拿的必输。

当a1、a2、a3是任意给定的,在什么情况下先拿的必输呢?必胜策略是怎样的呢?这是一个相当有意思的问题,答案可绝不是显而易见一目了然的。而当我当年看到这个策略长什么模样之后,完全的叹服了。今天我就先不写必胜策略了,大家可以先自己想想,如果下周或者什么时候有时间了再来写。前一阵子我为了熟悉C++自己写了一个拈游戏的人机对弈程序,大家可以点击下面的链接下载。其中包含了必胜策略,所以只要你一步走错就一定会输。

拈游戏.rar

其实拈游戏不仅仅局限于三行硬币,其实最初的问题是N行的,而且神奇的是其必胜策略对于任何N都是一样的。其实这个拈游戏是我上小学的时候奥数老师跟我玩的游戏,最近才发现这个经典的有意思的游戏还有好多人没有玩过,故写此文…

Tags: , ,

量子计算机探幽

Posted in Magical Physics  by Eagle Fantasy on May 1st, 2008

量子计算机是一个令人神往的东西,虽然目前还没有实际制成量子计算机,但是他却成了我一直翘首以待的产品。量子计算机可以算是不同于我们现在的普通计算机的下一代计算机,它可以解决许多传统计算机没法有效解决的问题。

量子计算的概念,最早是由费恩曼提出的,从那以后计算机科学家们已经在这个领域里有了不小的进展。量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。量子计算机的基本特征之一,就是它使用的信息单元不是比特,而是量子比特(qubit)。量子比特可以是电子那样的粒子。可以让自旋向上代表1,自旋向下代表0。与传统计算机不同的是,电子可以处于自旋向上和向下的叠加态,即1和0的叠加态。处于叠加态的少量粒子可以携带大量信息。假如我们可以控制仅仅1000个量子比特,那我们也可以用之表示出从1到2^1000的所有数字,并且可以同时对所有数字进行操作,也就是所谓的并行计算。虽然当我们最终读取量子状态时,只能从2^1000个状态中随机的读取其中的一个,而其他的状态都会消失,但是我们可以通过对粒子进行巧妙的处理,用量子计算机求解一些普通计算机没法有效求解的问题,例如对大数分解质因数。用现有的计算机需要花10亿年才能算出来的题,可能用量子计算机花不到一年的就能成功解决。 Read the rest of this entry »

Tags: , , , ,

The Halting Problem停机问题

Posted in Interesting Maths  by Eagle Fantasy on May 8th, 2007

//我在《皇帝新脑》中看到这个问题,死活看不懂。。。可是自从看了matrix67的这个讲解,居然2分钟就恍然大悟,真是太强了!

The Halting Problem是问,输入一段程序代码和一个针对此程序的输入,能否编程判断运行这个程序后程序是否会终止。

这个问题的答案是否定的。也就是说,不可能有一种算法可以正确判断一个指定的程序运行后,给予指定的输入,程序最后出不出得来。换句话说,The Halting Problem是一个不可解问题。

虽然这感觉似乎不可能,但在严格的证明下谁也无法发言反对。

证明过程非常简单,假设The Halting Problem是有解的,并且已经用程序实现了,那么我们只需要再编写一个程序Program Bug,就会发现存在矛盾。 Read the rest of this entry »

Tags: , ,