http://www.davincicode.com.cn/
首先,这是《达芬奇密码》中文站的首页。建议先玩这个游戏再看以下的文章。
网站提示,进入首页有三个办法,当然后面两个办法的技术含量不高,所以在此只讨论如何破解游戏进入。
破解思想:如果让丹说出目标数字(比如说是12),那么你要点的必须是9,10,11中的11
潜在规则:A你一定是在三个数字中选一个
B丹一定是在你选的数字之后说出一个或者两个或者三个数字(你说3,丹会说4或者45或者456)
破解过程:由破解思想得出,你要点11,这样有三种情况:
丹:8 你:9,10,11
丹:7,8 你:9,10,11
丹:6,7,8 你:9,10,11
到了这一步,开始我会以为一直把情况分裂下去会得到一个严格正确且唯一的走法,但事实并不是这样的,因为丹的走法会变化(这是游戏内部设置的一个走法)。那是不是就没有办法解决问题了呢?
解决问题的关键是找到固定的走法。既然刚才的情况分裂太多且丹的走法会变化,那么需要另外找一种不变的走法。
怎样走可以体现不变的思想?
答案其实就出来了,所谓可以体现不变只有是:丹说几个数字,而你需要“配合”他,比如丹说一个数字,而你就需要点你三个数字中的第三个;丹说两个数字,而你就需要点你三个数字中的第二个;丹说三个数字,而你就需要点你三个数字中的第一个。原则是和为4。
眼看就要破解这个游戏了,可是我这样做了仍然不可以确定第一次该点哪个数字。这是问题是瓶颈!
1,2,3应该先点哪个呢?
这一定和给定的目标数字有关,不然怎么体现不变呢。
所以突破口是目标数字,比如说目标数字是12,怎么和1,2,3挂钩呢?是约数?是余数?还是差数?
现在分析一下是哪种类型的数:
A如果是约数,那么12有1,2,3,4,6,12这几个约数,包含了1,2,3,还是无法确定先点哪个。
B如果是差数,那么12跟谁有差呢?1,2,3?而差数都超过了1,2,3,还是无法选择。
C如果是余数,那么12除以什么得到的余数呢?当然不是1,2,3,4,6,12,这样余数为0还是无法选择。其它的数字呢?比如说12除以5,那5是哪里来的呢?这样未免太离奇了。
先前考虑“原则是和为4”,和网站上的这句话“请直接在页面的数字上点击,比如,您想出到 5 ,就在 5 上点击即可。祝您好运!请直接在页面的数字上点击,比如,您想出到 5 ,就在 5 上点击即可”提醒了我。
之前我们要找一个方法正确的确定12应该除以几?这样就行不通了,因为我们不知道那个几是怎么来的。
现在我们要找是如何去除以4,当然12不能除以4,因为余数为0,无法选择。那用什么去除以4呢?而且要与12,5,4有关系?
12+4或者-4除以4? X
12+5除以4?因为遇到过目标数字是15,15+5除以4后余数为0。 X
12-5除以4? 。。。= 12-1除以4
试试吧,对,就是目标数字减5(或者减1)之后除以4得到的余数就是你第一步在1,2,3中选择的数字。
正解:(目标数字-1)/4,得到的余数就是你第一次要点的数字. 比如余数是2,就点第二个数。
第二步比如他说1个数字,你就点第3个;他说2个数字,你就点第2个;他说3个数字,你就点第1 个。
游戏有个小bug:可能你已经说出目标数字,但是一定要按答案给的方法点,这样最终让丹说出目标数字。
以上是我分析的过程,不是很严格,我只有这样分析才能靠近答案。这是我最近写的最长的一个东西。
线性寒