查看原文
其他

算命是胡扯,猜姓却不然

林开亮 好玩的数学 2020-10-11

我第一次去城里,是在很小的时候——20多年了,也许是小学五六年级,跟着一个种菜的表姑妈推着板车去常德县城蔬菜市场卖菜。我当时一定头一次吃到不少好吃的,但现在想不起来了,不过我还记得当时我拆了一个算命先生的台,为此我表姑妈颇为得意。这种猜姓氏的把戏估计大家都见过,以下是我当时遇到的版本。


首先算命先生会摊开一张百家姓的大图纸,里头有很多小格子,每个小格子里有一定数目的姓氏,大图纸旁边会放一些小纸片,每张小纸片上会有一定数目的姓氏。他会要求你用有你姓氏的小纸片盖住大图纸上那个有你姓氏的格子,然后他“掐指一算”,就报出了你的姓氏。我见识过几次,没有不准的,来算命的无不称奇慨叹!我也好奇他是怎么做到的,后来我想明白了,一定是小纸片和盖住的小格子上只有一个相同的姓氏。我拿起小纸片一对照,果不其然。后来,我也开始卖弄了,只要有人用小纸片盖好小格子,我就拿起来迅速一对照,结果有几次比算命先生还先得出结果,我记得当时猜中一人姓蒋(与委员长同姓,所以印象深刻)。他老人家脸上开始不好看了,于是就喝令我一边玩去。


20多年过去,大街上仍然有算命先生玩这个把戏,仍有不少人疑惑不解,乃至迷信其神。网上有不少朋友追问这个把戏究竟什么玄机,也有人解密,不过他们似乎没有真正讲明白这一点——如何保证小纸片和盖住的小格子上只有一个相同的姓氏?例如,见2017年春节期间的一个视频。


https://v.qq.com/txp/iframe/player.html?vid=d037247scx3&width=500&height=375&auto=0


这里我想介绍一个思路(最近偶然想到,算命先生也许用别的,但我想绝不至于比这方法还简单了),它也许是最简单的,可以保证每个人都能当一回“神算子”。


首先,我们要有一张大图纸,上面分布着常见的百家姓。按照百度百科,


《百家姓》,是一篇关于中文姓氏的文章。按文献记载,成文于北宋初。原收集姓氏411个,后增补到568个。


为简单起见,我们这里仅选取出现频率最高的前300个姓氏,以下排名取自网络(排序是否准确与猜姓氏无关,要紧的是,我们只需要给出一个排序)。


2017年中国人口最多的前300大姓

1:李2:王3:张4:刘5:陈
6:杨7:赵8:黄9:周10:吴
11:徐12:孙13:胡14:朱15:高
16:林17:何18:郭19:马20:罗
21:梁22:宋23:郑24:谢25:韩
26:唐27:冯28:于29:董30:萧
31:程32:曹33:袁34:邓35:许
36:傅37:沈38:曾39:彭40:吕
41:苏42:卢43:蒋44:蔡45:贾
46:丁47:魏48:薛49:叶50:阎
51:余52:潘53:杜54:戴55:夏
56:钟57:汪58:田59:任60:姜
61:范62:方63:石64:姚65:谭
66:廖67:邹68:熊69:金70:陆
71:郝72:孔73:白74:崔75:康
76:毛77:邱78:秦79:江80:史
81:顾82:侯83:邵84:孟85:龙
86:万87:段88:漕89:钱90:汤
91:尹92:黎93:易94:常95:武
96:乔97:贺98:赖99:龚100:文


2017年中国人口最多的前100至200大姓

101:庞102:樊103:兰104:殷105:施
106:陶107:洪108:翟109:安110:颜
111:倪112:严113:牛114:温115:芦
116:季117:俞118:章119:鲁120:葛
121:伍122:韦123:申124:尤125:毕
126:聂127:丛128:焦129:向130:柳
131:邢132:路133:岳134:齐135:沿
136:梅137:莫138:庄139:辛140:管
141:祝142:左143:涂144:谷145:祁
146:时147:舒148:耿149:牟150:卜
151:路152:詹153:关154:苗155:凌
156:费157:纪158:靳159:盛160:童
161:欧162:甄163:项164:曲165:成
166:游167:阳168:裴169:席170:卫
171:查172:屈173:鲍174:位175:覃
176:霍177:翁178:隋179:植180:甘
181:景182:薄183:单184:包185:司
186:柏187:宁188:柯189:阮190:桂
191:闵192:欧阳193:解194:强195:柴
196:华197:车198:冉199:房200:边


2017年中国人口最多的前200至300大姓

201:辜202:吉203:饶204:刁205:瞿
206:戚207:丘208:古209:米210:池
211:滕212:晋213:苑214:邬215:臧
216:畅217:宫218:来219:嵺220:苟
221:全222:褚223:廉224:简225:娄
226:盖227:符228:奚229:木230:穆
231:党232:燕233:郎234:邸235:冀
236:谈237:姬238:屠239:连240:郜
241:晏242:栾243:郁244:商245:蒙
246:计247:喻248:揭249:窦250:迟
251:宇252:敖253:糜254:鄢255:冷
256:卓257:花258:仇259:艾260:蓝
261:都262:巩263:稽264:井265:练
266:仲267:乐268:虞269:卞270:封
271:竺272:冼273:原274:官275:衣
276:楚277:佟278:栗279:匡280:宗
281:应282:台283:巫284:鞠285:僧
286:桑287:荆288:谌289:银290:扬
291:明292:沙293:薄294:伏295:岑
296:习297:胥298:保299:和


300:蔺



你现在设想,这300个姓氏被摊在一张具有12个小格子的纸上,每个格子有25个姓,第 i个格子对应的那25个性,其序号恰好对应于那些被12除余i的数,即形如12k+i(其中k=0,1,2,…24 )的数,例如,


第1个格子所对应的姓,是以下25个(序号形如12k+1,k=0,1,2,…24),我们排成5行5列【此处要感谢启功先生】:


第2个格子所对应的姓,是以下25个(序号形如12k+2,k=0,1,2,…24):



类似地,可列出第3个、第4个……第12个格子所对应的25个姓氏,由于剧情需要,我们这里再给出4个格子所对应的25个姓(其序号形如12k+4,k=0,1,2,…24):


总共恰好有300个姓氏。注意,为了方便起见,更可取的是,会在每个格子里标注一个数字,表明其中各个姓氏所对应的序号被12除的余数。例如,上图很可能标记为



接下来到了第二步,构造25张小卡片,每张纸上有12个姓氏。现在也许你都可以猜到怎么构造了。


第 j 张小卡片上的姓氏所对应的序号为 25l +j , 其中 l=0, 1, 2, …,11。


例如,第1张小纸片上的12个姓氏(对应序号为25l+1,其中l=0,1,2,…,11)为

第2张卡上的12个姓氏(对应序号为25l+2,其中l=0,1,2,…,11)为

…………………………………………………………………………………………


类似地,可以造出全部25张卡片。为剧情需要,我们再列出第16张卡片上的12个姓氏(对应序号为25l+16,其中l=0,1,2,…,11)为



现在我们可以保证,第 j 张卡片与第 i 个格子恰好只有一个相同的姓。这里隐含了一个著名的数学定理,数论中有名的 中国剩余定理。 在我们的情况,它相当于说:


设 i,j 是给定的整数,则在1到300这些数中,有且仅有一个整数 x 同时满足下述两个条件:x被12除余 i,x被25除余 j。并且这个x可以这样求得,令y=25i-24j, 则 x=y+300k,其中k是一个适当的整数, 使得x在1到300之间。


注意,要紧的是,12与25互素(即能够同时整除它们的正整数只有1),且300恰好是它们的乘积。


回到我们原来的问题,不难从上述表达式分析得到下述结果:


若 i≥j,则 x 恰好是第 j 张卡片上的第s个姓氏;这里s=(i-j+1)+12 t,其中t是一个适当的整数, 使得s在1到12之间。


注意,根据这个分析,我们不需要知道(或记忆)那300个姓氏的序号,只需要知道,i与j,并且从第 j 张卡片就可以读出 x,它就在第(i-j+1)个位置——在模12的意义下。只要你会做两位数以内的加减法,会数数,你就会玩这个把戏了!


好了,道具已经备齐,现在我们可以玩把戏了。


比如在本人的情况,当我告诉了你,我的基本信息是i=4, j=16以后,你立即可以算出

                        i-j+1=4-16+1=﹣11,

从而s=1(取t=1),也就是说,我的姓在第16张卡片(见上图)的第一个位置,即我跟紫霞同姓(紫霞当然姓林了,因为她的姐姐青霞的全名是林青霞):



好了,我想很多人应该会有兴趣尝试一下了,来吧,实践出真知。只有当你完全准备好以上12+25=37个道具以后,你才能对姓氏在这300个姓氏中的朋友玩转这个游戏。(无论如何,虽然这营生成本低,我还是希望各位读者不要学了这把戏去挣钱。你想想,要是做个简单的减法都能挣钱,那是不是也来得太容易了!请大家尽量转发分享这篇文章,提醒世人不要被算命先生故作玄虚的雕虫小技蒙蔽了!)


按照上述原理,你也可以自行设计不同规格的道具(也许一个更好的选择是600个姓氏,它分解为两个互素的数24与25的乘积),只要它们满足中国剩余定理的互素条件即可。对于需要了解中国剩余定理的朋友,我们将在关于初等数论的系列讲座中详谈。若要一睹为快,可以参看这里的一个PPT,从射雕到九章——在天大理学院物理系的通俗报告。当你清楚中国剩余定理的本质以后,应该不难理解我这里简单陈述而未加证明的结论。我们留给有兴趣的朋友吧!


小把戏背后其实藏着美妙的数学,对数学爱好者而言,这何尝不是一种惊喜?





思考:街头算命先生往往能够根据你的生肖猜出你的年龄,知道这是为什么吗?


比如说,如果我告诉你我属猪,而且你又能看出,我不足四十一朵花,又超过三十一枝芽,你猜我多大?


为方便你对照答案,可以告诉你,鄙人与下一版《射雕英雄传》同岁:



好玩的数学

微信号:mathfun

好玩的数学以数学学习为主题,以传播数学文化为己任,以激发学习者学习数学的兴趣为目标,分享有用的数学知识、有趣的数学故事、传奇的数学人物等,为你展现一个有趣、好玩、丰富多彩的数学世界。

点阅读原文,发现更多好玩的数学。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存