算命是胡扯,猜姓却不然
我第一次去城里,是在很小的时候——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
好玩的数学以数学学习为主题,以传播数学文化为己任,以激发学习者学习数学的兴趣为目标,分享有用的数学知识、有趣的数学故事、传奇的数学人物等,为你展现一个有趣、好玩、丰富多彩的数学世界。
点阅读原文,发现更多好玩的数学。