我面试的时候被问到过这道题,后来现场研究了半个小时得出的答案。
五张里至少有两张是花色一样的,选择其中一张作为暗牌,另一张摆在最前面用来指示花色。
相同花色这两张点数x,y。 要么 ,或者反过来。 因为点数一共13张,13张牌排成环任意不同的两张距离一定不超过6。
我现在这里举个例子,假如两张牌点数分别是6和K,那么把K摆出来猜6,K+6=6。 要是7和K,那么把7摆出来猜K,7+6=K。无论相同花色的两张牌点数是怎么样的总能找到x=y+a,a不超过6的关系。
剩下三张,我们约定按点数大小、花色大小排序,具体约定了什么规则无所谓,只要能判断牌之间的大小关系即可。具体的实现方法可以是所有牌先按照桥牌的花色比大小,花色大的就算大。花色一样按照点数比大小,排出来最大最小的顺序。比如黑桃Q>黑桃2>红桃10>方片K等等等。三张牌确定好大小关系之后,观察最摆放顺序是小中大就+1,小大中就+2,到最后一种情况大中小+6这样,
就假定 ,那么先摆出y,再用剩下三张牌的相对顺序对应是+1~+6中的某种情况a,对应运算就可以得到x=y+a了。
举个例子:拿到红桃2,K 和三张其他牌。甲先展示红桃K,三张其他牌按约定花色点数确定的相对顺序、按照相对大小132的顺序摆出剩下三张牌。乙看到第一张是红桃K,确定花色是红桃,并且在红桃A~红桃6之内。用后三组牌的相对顺序132计算得到+2,红桃K+2=红桃2, 得到甲手里剩下的是红桃2。
这是之前在某个国外论坛刷到的一道推理题,来源不记得了,我大致复述一下题目和答案吧:
我遇到了一位魔术师,他带着一名助手,向我变了一个扑克魔术。他是这样变的:他让我自己找了一副扑克牌,没有大小王,所以可以确保这副牌绝对没有动过手脚。然后我自己洗牌后,随意抽5张牌,并将这5张牌交给他的助手(我知道这5张牌是啥)。他的助手将其中四张给了魔术师,另一张给了我。魔术师看了那4张牌后,便说出了我手上那张牌的花色和大小。
整个过程魔术师都没有碰到牌,直到他的助手将那4张牌递给他。并且我能保证整个过程魔术师和助手都没有任何眼神交流等,意味着魔术师只是通过那4张牌的内容推理出了我手上那张牌的内容。但是我发现助手在把另外四张牌给魔术师之前对它们交换了一下顺序。
我当然知道魔术师和他助手之间提前约定了好了一些操作,来让魔术师仅根据那4张牌来推导出我手上那张牌,但是这5张牌都是我自己随机选的,就算助手再怎么交换顺序,4张牌也无法涵盖48张牌(52-4)张牌的信息啊!
我无论如何也想不到他们到底是怎样做到的。
问题:这个魔术的奥秘究竟是什么?
答案如下:
我把这个故事继续讲下去吧,我回到家里开始苦思冥想,魔术师通过4张牌知道了我手上的牌,先不管他是如何做到的,他必然是分别确定了我的花色和大小。注意到魔术师的4张牌和我手上的1张牌都是由魔术师的助手确定的,所以助手可以选择性的从5张牌中选1张出来给我,剩下的给魔术师。
确定花色:扑克牌的花色有4种,而牌一共有5张,根据鸽巢原理(抽屉原理),必然有一种花色,在这5张牌中有两张以上的牌是这种花色。那么助手就可以选择这种花色,将其中一张给我,另一张放到四张牌的最上边。这样魔术师只需要通过最上面那张牌的花色就知道我手上的牌的花色了。
确定大小:虽然5张牌是完全随机的,但是他们可以确定大小顺序。记J=11,Q=12,K=13,我们规定两张扑克牌的大小比较规则为:先比较数值,数值大的扑克牌为大牌;若数值相等,则按照黑桃>红桃>梅花>方块。比如黑桃9>红桃9,梅花k>方块k,方块8>黑桃5等等。
这样,在助手给魔术师的4张牌中,其中一张放到了最上面,剩下三张可以排列出 种不同的大小顺序,我们给每一种顺序定义一个数值:小中大=1,小大中=2,中小大=3,中大小=4,大小中=5,大中小=6。这样魔术师就可以任意拥有1-6这6个数字其中一个。但是扑克牌一共有13个数字啊。
这似乎无解了,3张牌无论如何都无法确定出13个数字来。我又陷入了苦思,我开始注意到被放到最上方的那张牌,它除了帮助魔术师确定花色外,还有其他作用吗?它肯定有作用!否则魔术师不可能通过这三张牌确定大小的。它的花色作用已经没法用了,那么只剩下它的数值能拿来用了。
我开始整理我手头的信息:我可以任意获得1-6这6个数字中的一个,我记为i;我有另一个1-13的随机数字,我记为j;我要用它们确定另一个1-13的数字,我记为x。
加法?我开始兴奋起来,如果有x=i+j,那就大功告成了!但这高兴没持续多久就平息了下来,因为我发现j和x是随机的,它们之间可能相差大于6,比如x=11,j=2,永远不可能凑出i+j=x因为 。我的脑洞帮助了我,我当时的思路是:有没有办法能让它们相差始终在6之内呢?我看着墙上的钟,指针过了12点,又慢慢来到1点。。。突然,我灵光一现!
由于x和j都是1-13的数字,当x-j>6时,因为j>1,所以x>7,且j<7。若x<=7或者j>=7,不可能存在x-j>6的情况。
所以我们可以凑出i+x>13来。它有什么用呢?我们规定一种新的加法运算 :当两个数的和>13时,减去13作为其结果。比如6+10=16>13,此时我们规定 。这是我自己发明的「循环加法」,就像钟表一样,超过12后又从1开始了。
整理一下:我们令x为我手中那张牌的数值,j为魔术师手上最上方那张牌的数值,i为剩下三张牌的顺序对应的数值。
第一种情况:当x-j<=6时,我们可以交换3张牌的顺序,凑出一个i来,使得i+j=x,这样魔术师就知道我手上那张牌的大小了;
第二种情况:当x-j>6时,助手应该把j那张牌给我,把x给魔术师,因为x此时必然是>7且j必然是<7的,此时我们可以交换3张牌的顺序,凑出一个i来,使用我们的循环加法使得 ,我们可以证明:当0<j<7且7<x<=13时,这样的 是必然存在的。
我们全盘梳理一下:
当我把5张牌递给助手时,根据鸽巢原理,必然存在一个花色,其牌有两张以上,我们假设就是黑桃吧。助手看见黑桃有两张以上,那么就可以选择一张给我,另一张放到最上方给魔术师。剩下三张取决于这两张黑桃的差值:
若这两张黑桃相差<7,就把大的那张给我,假设其值为x吧,然后把小的那张放到最上方,假设其值为j吧,然后用剩下三张牌凑一个i=x-j出来,因为x-j<7,所以能用1-6的数字表示出来,所以可以凑出来,然后助手将这4张牌给魔术师,魔术师根据最上方牌的花色,确定我手上的花色是黑桃,然后根据下方三张牌的顺序确定数值i,然后用 i+j计算我手上的牌,因为在这种情况下i+j必然<13,所以i+j的值直接就是我手上那张牌的值了。这样花色和数值都知道了;
若这两张黑桃相差>7,就把小的那张给我,同样假设其值为x,然后把大的那张放到最上方,假设其值为j吧,然后用剩下三张牌凑一个i=13+x-j出来。因为j-x>7,所以i仍然是在1-6的范围内可以凑出来的。魔术师发现i+j>13,根据循环加法的规则,用i+j的值减去13就得到了x。
举两个例子:假如5张牌为
红桃5,红桃8,黑桃3,梅花9,方块7
助手发现红桃有两张,那么就应该把其中一张给我,另一张放到4张最上面。因为8-5=3<7,直接可以用黑桃3,梅花9,方块7凑一个3出来,即按照我们之前约定的:中小大=3,那么这三张牌摆成方块7、黑桃3、梅花9的顺序,这样魔术师就知道这代表3,然后把红桃5放在最上面给魔术师,红桃8给我。魔术师那边看到的是,红桃5在最上面,那么我手上的牌是红桃;下面三张牌的顺序是中小大=3,加上最上面的红桃5的数值=8,没有超过13,那么8就是我手上那张牌的大小,所以我手上的牌是红桃8。
第二个例子:
黑桃4,黑桃Q(12),红桃5,梅花5,方块9
助手发现黑桃有两张,那么就应该把其中一张给我,另一张放到4张最上面。因为12-4=8>7,那么应该把黑桃4给我,黑桃Q放到4张最上面。而4+13-12=5,所以可以用红桃A,梅花5,方块9凑一个5出来,也就是大小中=5,即顺序为方块9、梅花5、红桃5,然后把黑桃Q放到最上面给魔术师,黑桃4给我。魔术师那边看到的是,黑桃Q在最上面,那么我手上的牌是黑桃;下面三张牌的顺序是大小中=5,加上最上面的黑桃Q的数值=5+12=17>13,按照循环加法应该减去13,所以17-13=4,也就是我手上那张牌的数值,所以得到我手上的牌是黑桃4。
20220416
这个魔术的改进和拓展在Karl Fulves的《Mathematical card magic》一书中有大量的阐释,我根据其理解也创作了自己的内容,也将在我的公众号MatheMagician里以编码通信为主体进行分享,敬请期待!
以为这个魔术用了数学原理,但还是个不错的魔术作品,没想到还真的有人用来出面试题。
核心原理是抽屉原理,排列组合以及mod加法运算,别人已经解释过一遍了,我就不详细写了,那就来看看表演吧!
顺便说一下,如果从纯信息论的角度分析,这里仅有log4! = log24 bit的信息,是不够编码一张扑克牌的。但是因为可以选定猜测哪张牌,因此在这一约定下,相当于又一定程度上降低了混乱度,才使得方案理论上可行。
还有,题设说的顺序是指的牌叠排序,但是放置和拿去顺序应该都按照固定的从左到右进行。如果这地方能引入信息的化,那这个魔术还能够更加厉害。
续航好,牌照好,,那还有第二个选择吗?
请看!
优势:
劣势:
其他:
售价:请点击下方卡片查看最新售价。
续航高√
拍照好√
冲!!!
618知乎好物会场,你想看的剁手攻略这里全都有。更有知乎×京东专属京享红包,每天三次抽万元无门槛红包。
领取攻略:点击上方连接后即跳转到领取界面,点击“抢”字即可领取。
领取完后再返回本文章,可以再点击一次再抽取一次红包。
如此反复每日可抽取三次,最高得18618元红包!
【以下内容仅为配合知乎引用规范固定格式。普通读者可无视】
原作者:「以上所有手机配置参数,均来源于各手机官网。」
【所有其他内容均为本人<松果煲粥>原创】
参考链接:
【小米手机官网】[1]
【华为手机官网】[2]
【荣耀手机官网】[3]
【vivo手机官网】[4]
【oppo手机官网】[5]
【一加手机官网】[6]
【魅族手机官网】[7]
【IQOO手机官网】[8]
【realme手机官网】[9]
【努比亚手机官网】[10]
【黑鲨手机官网】[11]
【中兴手机官网】[12]
【锤子手机官网】[13]
【苹果手机官网】[14]
【三星手机官网】[15]
【索尼手机官网】[16]
【联想手机官网】[17]
【诺基亚手机官网】[18]
【LG手机官网】[19]
【HTC手机官网】[20]
【摩托罗拉官网】[21]