那个神奇的数学Puzzle的解答

来源: flagsix 2020-07-10 12:05:27 [] [旧帖] [给我悄悄话] 本文已被阅读: 次 (3067 bytes)
本文内容已被 [ flagsix ] 在 2020-07-10 12:20:56 编辑过。如有问题,请报告版主或论坛管理删除.

原帖:https://bbs.wenxuecity.com/znjy/5003838.html

题目:8x8棋盘,上面有随机数量的硬币,摆放在随机位置。如果在这样的棋盘上,某人C随机指定一位置作为无形目标。朋友A在此情况下,只要在没有硬币的地方再加一硬币或者拿掉一个现有硬币,只看到最后盘面的朋友B就能确定C给无形目标的位置。

这个答案YouTube上有,感兴趣的同学可以自己看看。我再用中文解答一下。上次有人抱怨我的中文很差,可能是因为跳跃的比较多,不够细致和连贯。这次尽量耐心一些。

从最后的结果看,因为B不需要知道前面的过程就能确定C指定的位置,说明棋盘上硬币的位置组合对应棋盘上唯一一个格子。当然反过来并不成立,也就是说,棋盘上每一个格子位置可以有很多种由不同硬币的位置组合来表达。这表达的方式非常精妙,详述如下:

首先棋盘的每一格子的位置用0-63的二进制,也就是从000000到111111来代表。因为有六位数,我们可以将棋盘分为6个组合,那么每个组合中所有硬币数量的奇偶就可以确定某个位数的数值。从低位到高位这6个组合分别是(参见图二):
1)2,4,6,8列;2)3,4,7,8列; 3)5,6,7,8列;4)2,4,6,8行;5)3,4,7,8行, 6)5,6,7,8行;

以下图为例:

根据图示分区结果,它们的组合代表位置110001 =>49

也就是下图中圆圈代表的位置。

假设在此盘面上,C指定一位置21=>010101,如下图所示:

那么A需要改动那个位置呢?奇妙中的奇妙,就是数学牛人发现,这个位置正好是起始位110001和目标位置010101的二进制和(binary and). 110001&010101=100100 =>36, 所以A就把36位的硬币拿掉,成为下图所示最后的盘面。

B根据该盘面就可以确定C所指的位置21。我们可以验证一下

仅以此和喜欢数学游戏的朋友及孩子分享一下。

所有跟帖: 

题目里你应该说明一下A和B是约定好方法的,B知道A如何摆硬币就能知道C指定的位置 -yddad- 给 yddad 发送悄悄话 (229 bytes) () 07/10/2020 postreply 12:41:03

A按照数学模型摆硬币,但是最后的盘面可能有很多方式产生,B并不知道A摆的是那个硬币 -flagsix- 给 flagsix 发送悄悄话 (0 bytes) () 07/10/2020 postreply 12:49:11

B知道A用的数学模型 -yddad- 给 yddad 发送悄悄话 (0 bytes) () 07/10/2020 postreply 12:52:16

那肯定的,这个数学模型号称为almost impossible. -flagsix- 给 flagsix 发送悄悄话 (0 bytes) () 07/10/2020 postreply 13:03:49

题目里这个条件一定要说,查了一下英文题,里面是说了,在最后一条:) -yddad- 给 yddad 发送悄悄话 (4657 bytes) () 07/10/2020 postreply 13:19:41

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”