- 注册时间
- 2011-6-2
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 9070
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
李尚志教授《数学聊斋》之十二:不小心搞乱了行李箱的密码,怎
么办?
2008年8月6日晚,北京奥运会前夕,我到青海西宁完成了高教司组
织的国家精品课程《高等数学》的培训讲课任务之后飞回北京。同
行的还有承担培训会议的组织工作的高等教育出版社的几位工作人
员。正在排队等候办理登机手续时,高教社的一位同志说她不小心
将行李箱的密码锁的号码搞乱了,箱子打不开了。问我是否有办法
尽快找到正确的密码?行李箱的密码锁的号码由三个数字组成,总
共可以有一千个不同的号码。如果一个一个号码试验,需要试验一
千次,时间太长。但是,考虑到她不是故意将号码弄乱,而是不小
心碰到了某个号码才弄乱的,我假定她最多将三个号码中的某一个
弄乱了,而不大可能同时弄乱两个号码或者三个号码。这样,在试
验时就可以只限于与原来的号码只有一个数字不同的那些号码。与
原来的三位号码只有第一位数字不相同的号码只有9个,只有第二位
数字不相同的也是9个,只有第三位数字不同的还是9个。只要试验
这27个号码,就可能找到正确的号码。
她按照我说的这个方法试验,果然很快就找到了正确的密码,打开
了箱子。原来,她的初始密码是000,弄乱之后变成了900。如果按
从小到大的顺序穷举1千个号码进行试验,从000开始要试验900次
才能到900。而且还有可能一不小心将900跳过去。而按照我所说方
法先固定后两位数字,只试验了10次就找出了正确答案。
我告诉她,其实还可以做进一步假设:不小心弄乱号码,最有可能
只弄乱一个数字,而且可能性最大的是将这个数字只改变一“格”
,也就是说将这一个数字加1或者减1。按照这样的假设,只要试验6
次就行了:在原来密码的基础上将第一位、第二位、第三位分别加1
或减1。比如,她的原始密码是000,弄乱之后的密码很有可能
100,900,010,090,001,009这6个号码之一。
最近,同样的故事在我自己身上又发生了一次,我自己也在机场办
登机手续之前发现自己的箱子的密码被弄乱了,原来的密码打不开
箱子。我胸有成竹地按照所说的方法试验,试验了6次果然打开了箱
子。
有人告诉我:“千万不要将这个办法告诉别人。否则,你会被怀疑
有本事打开别人的箱子偷东西; 如果小偷知道了你这个方法,也可
以用来打开箱子偷东西。”我告诉他:这个担心是多余的。箱子的
主人知道原来的密码,所以可以采用我的这个方法只实验少数几次
就找到新的密码。只要行李箱的主人将原来的密码保密,别的人都
不知道原来的密码,就不能在保持原来的密码的两位数字不变的基
础上搜索出新的密码。
|
|