奇妙的“数字”序列
2008-12-29陈凯
中国信息技术教育 2008年9期
“13-3-2-21-1-1-8-5…被打乱的斐波那契数列就是线索。”《达·芬奇密码》第20章中,兰登破解文字密码时所说。
* 许多人知道,斐波那契数列邻接数字项相除后结果会越来越趋近黄金分割率,可是,若数列虽符合前两项数字之和产生后一项数字的规律,却并非由1+1发端,其邻接数字项相除后的结果将如何变化呢?比如10-100-110-210…编个程序试试看会怎么样呢?
* 能否不通过相邻数字项累加,而直接获得第n项斐波那契数列的值呢?
* 假如某数列满足如下规律:前三项数字之和产生后一项数字,那么其邻接数字项相除后的结果,是否也趋近于黄金分割率呢?先编写程序计算出结果,再上网查询内中原因。
* 0-1-1-0-1-0-1-1-0-1-1-0…这串二进制数被称为斐波那契兔子序列,可它们是究竟如何得来的呢?怎么样通过一个简单的程序获得这串序列呢?
“我绕远了,这其实是伪装成斐波那契数列的鲁卡斯数列。”电视剧《神探伽利略》中,汤川试图拆解炸弹引信时,被高智商罪犯留下的228826127-370248451-599074578-969323029…数字序列所误导。
228826127-370248451-599074578…
此数字序列同样满足前两项数字之和产生后一项数字的规律,看上去很像斐波那契数列,可实际上这是一个鲁卡斯数列。与电视虚构情节相呼应的是,现实生活中,鲁卡斯数列却被用于信息安全领域,说不定大家在刷卡消费的时候,就不知不觉地用到了这个奇妙的数列呢。
* 斐波那契数列和鲁卡斯数列的区别在哪里呢?相信大家只需要简单改编程序,变加法为减法,就能从中间项开始向前反向推导,找出鲁卡斯数列的发端。
* 两个斐X1+eg49NdJ16FcuGQhpTPQ==波那契数列的联姻能够生出一个鲁卡斯数列来,这是怎样做到的?
* 编写一个循环语句程序,将黄金分割率(越精确越好)不停自乘并观察结果。刚开始的时候,可能看不出什么名堂,不过只要稍微有点耐心,就能见到鲁卡斯数列由模糊而逐渐变清晰的奇妙过程。
“1-11-21-1211-111221-312211-13112221…这串数列让您想到了什么,它的发展规律是怎样的呢?”贝尔纳.韦尔贝尔所著的小说《蚂蚁时代》中,“思考陷阱”节目主持人给出了这样一个奇怪的题目。
《蚂蚁时代》中所出现的这个数列的下一项究竟该是什么呢?请不要轻易放弃这一自我挑战的机会啊。
全力以赴思考一下,万一掉进“思考陷阱”而无法逃出,不要急着呼叫救援(直接搜索数列本身),先研究一下陷阱墙壁上悬着的一条条线索吧。
* 此数列的产生与斐波那契兔子序列的产生方法有异曲同工之妙。
* 这串数列的发展模式与一种称为行程编码的压缩技术非常相像,但要是对一个已用行程编码压缩过的文件再次用行程编码进行压缩,恐怕不会有什么好结果。
* 此数列的“发明者”还创造过一个极其著名的元胞自动机模型——生命游戏。
把这些线索编织成绳子,或许就能轻松爬出“思考陷阱”了。