【数学】趣味扑克牌魔术游戏

从 N 张互异的牌中随机选出 M 张,要求藏其中一张,
然后将剩下的(M-1)张按一定次序排列出来放在桌面上,
使得你的同伴能仅根据桌面上这(M-1)张牌的大小和排列
次序推断出你所藏的牌。

比如一幅牌52张,或者加上王共54张,每次从中随机抽出5张,
让你藏一张,剩下4张牌按一定次序摆在桌上,使你的同伴
能仅根据桌面牌的大小与排列次序推断出你所藏的牌。

题目分析:
N 的上限值是 M!+M-1
证明: 从 N 张互异牌中选出 M 张,共有C(N, M) 种选法,
而桌面上 (M-1) 张牌的总排列方式只有 P(N, M-1) 种,
所以当 P(N, M-1) < C(N, M) 时,即 N > M!+M-1 时,
题目的要求是不可能办到的。

藏牌办法:

当 N <= M!+M-1 时,一个可行的方法如下:
给这 N 张牌编号为1号牌,2号牌,…,N号牌,
对于任意的 (M-1) 张牌,都有(M-1)!种排列方式,
可事先与同伴约定好这些排列的顺序,这样可利用 (M-1)张牌
排出一个介于1与(M-1)!之间的一个数。
藏牌及排列方法:
将抽出的 M 张牌按大小顺序从小到大排成 P1, P2, …, PM
定义 Di = Pi-i 为第i张牌的点位差(点数与所排位置的差)
设 P1+P2+…+PM ≡ x (mod M),(x取为1,2,…,M)
藏第 x 张牌 Px,令 y = (Dx+1)/M 向上取整 ( 易知1<= y <= (M-1)! )
用剩下的(M-1)张牌排出数y。
设桌面牌从小到大是 Q1,Q2,…Q(M-1)
假设藏牌为 P,排位为x, 其点位差为 D=P-x
则根据藏牌规则 Q1+Q2+…+Q(M-1)+P ≡ x (mod M)
y = (D+1)/M
于是可解得藏牌的点位差 D = (y-1)M+z-1 其中 z ≡ 1-Q1-Q2-…-Q(M-1) (mod M) (z取为1,2,…,M) 注意: 点位差D的最小值为0,合法的最大值为 N-M 如果算出的值超过这个最大值,则一定是藏牌的同伴搞错了。 易知,在排好序的牌中,各牌的点位差是非减的, 所以可由此确定D的位置,从而算出P 记牌面各牌的点位差 Di = Qi-i, (i = 1, 2,…, M-1) 并补充 D0 = 0, DM = N-M+1 两个方便书写, 把 D 在Di序列中定位,设 Dk <= D < D(k+1), (k=0,1,…, M-1) 则易知藏牌P 的原排位x= k+1, 由此得 P = D+x = D+k+1 容易验证,这样算出的藏牌正好符合同伴的藏牌规律, 并且不会有另外的牌也满足藏牌规律(即答案是唯一的) 总结起来,推算方法如下: 1) 设桌面牌从小到大是 Q1,Q2,…Q(M-1),并 记牌面各牌的点位差 Di = Qi-i, (i = 1, 2,…, M-1) 并补充 D0 = 0, DM = N-M+1 两个, 2) 算得藏牌的点位差 D = (y-1)M+z-1
其中 z ≡ 1-Q1-Q2-…-Q(M-1) (mod M) (z取为1,2,…,M)
D值算出应满足 0 <= D < N-M,若不满足则表明同伴搞错
3) 把 D 在Di序列中定位,设 Dk <= D < D(k+1), (k=0,1,…, M-1)
则藏牌为 P = D+k+1

例子:

比如两幅可区分的牌共 108 张,抽出5张,比如编号为 3, 4, 9, 11, 22
x ≡ 3+4+9+11+22 ≡ 4 (mod 5),所以应藏第4张牌11
第4张牌11的点位差D4 = 11-4=7
y = (Dx+1)/M = (7+1)/5 向上取整 = 2
用剩下4张牌 3,4,9,22 依约定排出点数 2
同伴看到桌面4张牌 3,4,9,22, 按排列次序依约定得出 y=2
z ≡ 1-3-4-9-22 ≡ 3 (mod 5),
算得藏牌的点位差 D = (y-1)M+3-1 = (2-1)5+3-1 = 7
牌面各牌3,4,9,22的点位差分别是 2,2,6,18
D=7定位在6与18之间,即有 D3 <= 7 < D4, k=3
所以藏牌为 P = D+k+1 = 7+3+1 = 11

【附注】: 实际上,依藏牌规则,对于牌面为 3,4,9,22 的可能藏牌有如下一些:
5,11,16,21,27,32,37,42,47,52,57,62,67,72,77,82,87,92,97,102,107
牌面摆出的y=2正是藏牌11在这个数列中的位置。
所以同伴推断时也可根据牌面和藏牌规则先算出这个藏牌数列,
然后取出这个数列的第y个数就是藏牌了。

扫码关注<博物思源>公众号,更多期待,更多精彩…

大学生数学竞赛题汇编
大学生数学竞赛题
高中数学联合竞赛试题
国际象棋中的趣题妙解
数学家俱乐部
数学趣题汇编
牛顿:在海边寻找贝壳的人
凯尔文:是上帝创造了生命,并且掌管一切
陆地动物能变成鲸吗
数学界的奇人妙事

Conway: 游戏人生
有关孪生素数的一个有趣猜想
素数之恋-伯恩哈德·黎曼
等分布理论简介
数学家波利亚
物理学之神奇的数
鸟和青蛙
超级圆周率π运算器
数学难题汇编

此条目发表在数学分类目录,贴了, , , 标签。将固定链接加入收藏夹。