《端脑》中如何靠四句“我不知道”猜到对方的数字

动漫《端脑》中有这样一道题,简化描述如下:

甲乙两人各有一张写着数字的卡片,裁判告诉两人他们手上卡片数字相乘的结果不是8就是16,问如何能够在不告知数字的情况下菜刀对方卡片上的数字是多少?

我们假设甲的数字为X,乙的数字为Y,则二者的可能情况如下:

XY乘积
188
11616
248
2816
428
4416
818
8216
16116

甲的卡片上写着的数字是2,接下来我们看看如何知道。

一、过程详解

开始前先说明,在每次对于甲说明时,表格的顺序是X、Y、乘积;在每次对乙说明时,表格的顺序是Y、X、乘积。并且下文中红色字体的信息是双方都知道的信息。

1.第一轮

  • 此时甲告诉乙:“你的数字是多少我不知道”。

这句话的信息量并不是0,而是告诉了乙X≠16

这是因为,观察上面的表格,X只有在自己为16的时候,Y只有一个数值能使条件成立。因此如果此时说不知道,那乙知道甲肯定不是16。

  • 乙告诉甲:“你的数字是多少我也不知道
  • 为了方便观察,将Y的数字连续变化排列,我们以Y的视角得到一个新的表格,去掉X=16的行:
YX乘积
188
248
2816
428
4416
818
8216
16116

很显然,乙告诉了甲Y≠16并且Y≠1

这是因为观察可知,Y=1和Y=16都只对应了一个X,如果是这两个数就知道X是什么了。

2.第二轮

  • 甲告诉乙:“你的数字是多少我还是不知道”。

去掉X≠16Y≠16、Y≠1的几行,我们看一下此时的全局分布情况:

XY乘积
188
248
2816
428
4416
8216

很显然,甲告诉了乙X≠1并且X≠8

这是因为观察可知,X=1和X=8都只对应了一个Y。

  • 乙告诉甲:“你的数字是多少我也不知道

去掉X≠16Y≠16、Y≠1的几行,我们看一下此时的全局分布情况:

YX乘积
248
428
4416
8216

很显然,乙告诉了甲Y≠2并且Y≠8

道理还是和之前一样。

则全局分布如下:

YX乘积
428
4416

那么此时就得到了结果,乙手上的Y是4。

可是此时问题的重点是乙还是不知道X是2还是4,这也是动漫的一个BUG。

二、甲乙数字互换

甲的卡片上写着的数字是4,乙的数字是2

1.第一轮

甲:我不知道

XY乘积
188
11616
248
2816
428
4416
818
8216
16116

去掉X=16(红色背景表示去掉);

乙:我不知道

YX乘积
188
248
2816
428
4416
818
8216
16116

去掉Y=1Y=16

2.第二轮

甲:我不知道

XY乘积
188
248
2816
428
4416
8216

去掉X=1X=8

现在的情况变成了:

YX乘积
248
428
4416
8216

而乙知道自己的Y=2,因此

乙:我知道了

YX乘积
248
428
4416
8216

乙知道自己是Y=2,则他就知道X=4

甲知道自己是X=4,则他就知道Y=2。

三、总结

因此对于双方一人拿2一人拿4的情况,重点就在于要想求解,必须是拿4的人先透漏信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值