本文转自数学纵贯线公众号。
本文作者林开亮,任教于西北农林科技大学理学院。
关注微信:哆嗒数学网 每天获得更多数学趣文
新浪微博:http://weibo.com/duodaa
上集
我第一次去城里,是在很小的时候——20多年了,也许是小学五六年级,跟着一个种菜的表姑妈推着板车去常德县城蔬菜市场卖菜。我当时一定头一次吃到不少好吃的,但现在想不起来了,不过我还记得当时我拆了一个算命先生的台,为此我表姑妈颇为得意。这种猜姓氏的把戏估计大家都见过,以下是我当时遇到的版本。
首先算命先生会摊开一张百家姓的大图纸,里头有很多小格子,每个小格子里有一定数目的姓氏,大图纸旁边会放一些小纸片,每张小纸片上会有一定数目的姓氏。他会要求你用有你姓氏的小纸片盖住大图纸上那个有你姓氏的格子,然后他“掐指一算”,就报出了你的姓氏。我见识过几次,没有不准的,来算命的无不称奇慨叹!我也好奇他是怎么做到的,后来我想明白了,一定是小纸片和盖住的小格子上只有一个相同的姓氏。我拿起小纸片一对照,果不其然。后来,我也开始卖弄了,只要有人用小纸片盖好小格子,我就拿起来迅速一对照,结果有几次比算命先生还先得出结果,我记得当时猜中一人姓蒋(与委员长同姓,所以印象深刻)。他老人家脸上开始不好看了,于是就喝令我一边玩去。
20多年过去,大街上仍然有算命先生玩这个把戏,仍有不少人疑惑不解,乃至迷信其神。网上有不少朋友追问这个把戏究竟什么玄机,也有人解密,不过他们似乎没有真正讲明白这一点——如何保证小纸片和盖住的小格子上只有一个相同的姓氏?例如,见2017年春节期间的一个视频。
这里我想介绍一个思路(最近偶然想到,算命先生也许用别的,但我想绝不至于比这方法还简单了),它也许是最简单的,可以保证每个人都能当一回“神算子”。
首先,我们要有一张大图纸,上面分布着常见的百家姓。按照百度百科,
《百家姓》,是一篇关于中文姓氏的文章。按文献记载,成文于北宋初。原收集姓氏 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,从射雕到九章——在天大理学院物理系的通俗报告。当你清楚中国剩余定理的本质以后,应该不难理解我这里简单陈述而未加证明的结论。我们留给有兴趣的朋友吧!
小把戏背后其实藏着美妙的数学,对数学爱好者而言,这何尝不是一种惊喜?
思考:街头算命先生往往能够根据你的生肖猜出你的年龄,知道这是为什么吗?
比如说,如果我告诉你我属猪,而且你又能看出,我不足四十一朵花,又超过三十一枝芽,你猜我多大?
为方便你对照答案,可以告诉你,鄙人与下一版《射雕英雄传》同岁:
下集
昨日我在本号发表的文章算命是胡扯,猜姓却不然引发了不少读者和朋友的反响,他们的反馈让我对这个小把戏有了进一步认识,因此今天我想趁热打铁,继续跟大家分享我的心得。
昨晚七点多钟发布完公众微信号,我最先接到本科同学刘新亮的电话,他现在天津耀华中学教数学。他跟我讲,看到这篇推送很高兴,因为他下周要去到上小学的孩子班上给讲点数学,他正发愁讲点什么内容好。看到这个,他眼前一亮,所以立即给我打了一个电话。我也觉得这个题目不错,至少准备道具很简单。一个班最多五六十人(准确地说,需要考虑的只是姓氏的个数,鉴于经常有同姓的同学,所以姓氏个数会更少),他准备十来张卡片就够了(比如说,56=7*8,7+8=15)。这个游戏尤其适合新生开学的第一堂数学课,当学生与老师都还不熟悉的时候,老师如果通过这个简单的游戏一下子就猜出学生姓什么,其形象一下子就高大起来了,同时学生们也立即记住了这个学生的姓氏,再进一步让学生说出自己的全名,这个印象就深刻多了!想到这些,我当时的得意之情,完全可以用下述图片来形容:
十点多快要入睡时,又收到了好友刘云朋的一条消息(今天上午也有网友在评论区留言表达了相同的意思,非常感谢!),我瞬间切换到下图:
云朋兄发给我的消息如下:
第一次知道这样的把戏,很有趣。我有一个表面上稍不同的理解:假设有100个姓,把它们排成10×10的方阵,然后将同一行的姓填入大图纸中的同一格,把同一列填入同一小图纸,于是每种大小图纸的组合就给出这个矩阵的行指标和列指标,从而标记了既处于指定行又处于指定列的那个元素。他说的方法更简单了,我们就照他说的方法,来玩一个猜百家姓的把戏。首先,我们选取100个姓氏,如昨天一样,我们不妨从网络选取下表
现在每一行的10个姓氏放入一个小格子,为让蒙蔽效果更好,我们可以将这10个姓氏排成三角垛,例如,第1行的10个姓氏(按照自然顺序)排成下述形状
第2行的10个姓氏(按照自然顺序)排成下述形状
依次类推,一直排到第10行。接下来再将每一列的10个姓氏排在小卡片上,如第1列的10个姓氏为
第2列的10个姓氏为
为剧情需要,我们再给出第6列的10个姓氏
好了,道具20张纸备齐以后,我们就可以来玩猜姓把戏了。比如,你可以确认一下,紫霞的姓(林,表格中对应坐标16)是不是满足这样的规律,它恰好在第6列的第2个位置。再如,你也可以验证金庸《倚天屠龙记》里那位风一样的女子的姓(杨,表格中对应坐标06)是不是也满足这样的规律。
容易发现,与上一篇介绍的用中国剩余定理的方法相比,刘云朋老师(任教于天津大学理学院物理系)介绍的上述方法更简洁,我反思了一下,发现我们的差别可以这样理解:
我之前思路是一维的(用数为坐标),而云朋兄这里的思路是二维的(用二个数为坐标)。他进化得比我多些。另一方面,原先的思路由于其复杂性,可能更不容易被外行发现。街头的各路神仙也许倾向于采取云朋这里的方法。如果学生与老师都熟悉了,当然就不必猜学生的姓名了,这时候可以改为猜学生母亲的姓氏(只考虑那些随父亲姓的同学)。
而对于街头的各路神仙,可以改为猜各位的意中人的姓氏,牛皮可以这样吹:“你的意中人姓什么,除了你和你的意中人知道,半仙我也知道!来,我告诉你上天给你安排的姻缘在哪里。”
当来者发现你猜对意中人的姓氏,有了这样的表情
以后,作为半仙的你还可以借机发挥一下:
到了这个时候,咱们也可以见好就收了!要防着,人家也许有两个同姓的意中人,还是留给TA自己取舍吧!
作者注1:上一篇有读者“青青子衿”留言说“我只知道小编爱上了紫霞”,我想更正一下,是作者本人爱上了紫霞(文中图片均作者自己配好),有本篇为证,也可见本人更早一篇作品,从“三七二十一”到“素数之无穷”。
作者注2:有学数学出生的朋友告诉我,他也曾遇到类似的半仙,也前去拆台,幸而他从半仙充满杀气的眼神中预算到可能要被灭口,这才捡回一条命,终究当上了老总。故事虽然夸张,但在情理之中。建议大家不要当面拆台(风险太大,在社会上终止问题的可能是拳脚),可以考虑当个娱乐游戏在公众场合多普及,也许上当的人就少了。
作者注3:留言区有朋友认为,这个把戏用到了数学,有文化内涵,更有美好祝福,凭此哄点小钱也未尝不可。对此,我倒不反对,但我觉得这主要就是一个娱乐——当然,你要是把人逗乐了,收点钱人家估计也会给。不过,从猜姓把戏中获得乐趣的,主要是半仙,TA为自己披上了神秘色彩;作为前来测试的人,自己当然知道自己姓什么,更没有必要让半仙知道自己姓什么。
作者注4:我想强调的是,猜姓与算命不同,前者是有理有据的,而后者则是胡扯、唬人,比如,《饭局也疯狂》里的大师:
游戏玩一玩无妨,可是坑蒙拐骗就不要参与了,伤感情。圈圈套套,无非图个财与色。我喜欢开门见山,正大光明,简单粗暴,像这样:
或者稍微含蓄一点,又不失果决,像这样:
如果你了解我,我想你应该猜得到,我期待的回应是怎样的:
全剧终
关注微信:哆嗒数学网 每天获得更多数学趣文
新浪微博:http://weibo.com/duodaa