为什么身份证号尾号会出现“X”?
2023/9/5 15:00:13粮油市场报收藏
□郭园园
目前我国居民身份证号码总共是18位,前17位都有具体含义:前6位是首次办身份证时所在的省、区、市的代码,中间8位是持证人的出生年、月、日,后面3位是申请户籍时派出所的分配码。唯独最后一位数字,是对前面的数字进行简单的数学运算后得出的,它是一个校验码。有的人会问:“为什么我的身份证号的最后一位是字母X?”其实,这并不是字母X,而是罗马数字Ⅹ。为什么不写成10呢?因为如果写成10,身份证号就变成19位了。在编码学中,不一样的数位不太容易存储或者使用。那为什么最后一位的校验码会算出10呢?其实,这种算法已经有上千年的历史了。
来自丝绸之路的数学
首先,我们来看一种古老的算法:弃九法。
15世纪初,撒马尔罕城的统治者兀鲁伯格很爱钻研科学。他编订了《兀鲁伯格历》。这么喜欢科学的一个人,当然也很喜欢从帝国境内网罗各种数学、天文学人才。
阿尔·卡西是兀鲁伯格手下的首席科学家,也是兀鲁伯格天文台的第一任台长。当时的首席科学家不仅要帮助皇帝解决最困难的数学、天文学问题,还要给帝国境内的工匠、官员,还有儿童、青少年编订数学书。他编的这本书的名字叫《算术之钥》,就是算术的钥匙的意思。这本书囊括了跟今天小学和初中类似的内容:算术、代数、几何,书的第一卷讲的是整数的运算,比如加法、减法、乘法、除法,其中有一个算法很有意思,叫弃九法。
要了解弃九法,首先要弄清楚什么叫弃九数。比如,数字3217,把它每一位上的数字连续相加,3加2加1加7等于13;继续把13的每一位上的数字相加,1加3等于4。直到得到个位数字4为止,这个4就是3217的弃九数。其实这个弃九数就是3217除以9之后的余数,只不过这种连续相加的方法是一种快速算法。
弃九数有什么用?它最主要的作用是检验运算是否准确。比如,现在要检查3169乘以732等于2319708是否正确。如果没有别的方法的话,只能把它重新算一遍。但是用弃九法,首先把3169的弃九数求出来———1,再算出732的弃九数———3,接着算出2319708的弃九数———3,最后我们核验一下1乘以3等于3,结果是正确的。这就是古人的验算方法,其中充满了智慧。大部分的数学知识,对普通人来讲就是为了应用。
阿尔·卡西作为首席科学家辅佐兀鲁伯格制定天文历法的时候,需要进行大量运算。为了达到高精度的运算,阿尔·卡西也需要检验。作为一流的数学家,他在思考高维问题的时候比普通人具有优势,但如果是比纯粹的加减乘除运算,数学家与普通人之间其实并无差别。从弃九到同余
随着欧洲文艺复兴运动的开展,阿拉伯的许多算法传到了欧洲。而从明朝开始,西方的数理科学知识大量传入我国,形成西学东渐。
在弃九法发展的过程中,数学家们又逐渐认识到弃七法、弃十一法、弃十三法等。这些方法都属于今天初等数论中的同余理论。同余理论在我们日常生活中比较常见的应用是什么?答案是计算校验码。
和我们生活最息息相关的校验码就是身份证号尾号。平日里,我们经常需要在手机或者电脑上输入身份证号码,输入这么长的数字很容易输错,有了第18位校验码,就能及时发现错误。只要一个小小的校验码,就可以保证整个系统的正常运转。
那它是怎么算的?主要分3步:首先身份证号码总共18位,把前17位号码依次乘以指定的系数,第一位乘以7,第二位乘以9,第三位乘以10……这在数学上叫做加权因子;然后把这17个乘积相加,最后用所得和除以11,看余数是多少。
某一个很大的数除以11,它的余数有多少种可能?如果整除的话,余数看成0;如果没有整除,余数可能出现1、2、3、4、5、6、7、8、9,还可能出现10,但是不可能出现11。按规定,不同的余数对应着不同的校验码。比如余数是0的时候,它对应的校验码就是1;余数是1的时候,它对应的校验码就是0;余数是2的时候,它对应的校验码是Ⅹ……这就是身份证号的最后一位可能是0、1、2、3、4、5、6、7、8、9、Ⅹ的原因。
下面来看一种简单一点儿的算法,它依然是利用了弃十一法进行的校验码运算。只要是从正规的书店买到的图书,每一本书都会有一个ISBN编号,叫国际标准书号。
目前ISBN编号有两组:一组是10位的,另一组是13位的。
一个含有校验码的10位ISBN编号,它的前9位是有具体含义的,你可以通过这9位数字看出这本书是哪个国家、哪个出版社的。
第10位怎么算呢?比如,某一本书前9位的源号码是730904547,将第一位数乘以10,第二位数乘以9,第三位数乘以8……将9个乘积相加,最后得到226。然后计算226加上谁,可以被11整除,结果发现226加5就可以被11整除。按照这个算法,校验码就应该是5,由此就得出第10位的校验码。
那它怎么起到校验作用?假如把第一个数输错了,本来是7,不小心输成8。按照乘以加权因子再相加求和的方法,上面那个和已经不是226了,而是236。这时236需要加上6才能够被11整除。那按照这个算法,校验码应该是6,而不是5。
所以在真正操作的时候,如果有一位数字不小心输错了,但是最后校验码还是原来的数字,这时系统就会识别出这个号码是无效号码,是一个错误的号码。这是一个简单的数学算法,但是它蕴含着巨大的力量,为整个系统的运转提供安全保障。
校验码无处不在
在日常生活中,校验码是非常常见的。
平常去商店或者超市购物,你会看见条形码。条形码的最后一位也是校验码。识别的时候,只用拿扫描枪扫一下,机器就会根据条形码的粗细来识别不同的数字。
条形码蕴含的信息太少了,毕竟只有几个数字。所以除了条形码,我们还有二维码,二维码蕴含的信息更多。二维码中的黑白小格,实际上就是数字0和1。它不仅含有校验码,还有其他信息,比如识别码。
平常在扫二维码的时候,如果拿手盖住一块,是不是还可以扫出来;或者二维码有一些地方破损了,但是依然可以扫出来。这就是识别码在起作用,它是更复杂的数学工具。
在工业生产比如汽车装配,或者更复杂的FAST天文望远镜的装配过程中,成千上万个零件就需要二维码的帮助,以完成组装。
美国数学家莫里斯·克莱因在《西方文化中的数学》中说过这样一句话:数学知识如果脱离了它丰富的文化基础,就会被简化成一些毫无意义、充满技巧性的程序,数学的形象这时候就被扭曲了。
任何一个数学公式、数学算法、数学定理背后都有它产生的源泉。比如身份证中的算法,至少有1000年的历史,它背后有着数学思想演化的脉络。
责任编辑:莉莉
- 吉林大米、鲜食玉米福州系列宣传活动正式启动2021/6/21 16:04:20
- “闽”见湘滋味 湖南好粮油飘香福州2021/6/21 14:50:36
- 优质粮食工程答卷优异优粮增加超5000万吨2021/6/21 11:33:04
- 北京20万亩小麦开镰收割2021/6/21 11:32:21
- 吉林大米、鲜食玉米福州系列宣传活动启动2021/6/21 11:31:44
- 护航产业发展棕榈油期权在大商所上市2021/6/21 11:30:56
- 山东省长李干杰到潍坊调研小麦收割粮食收储及燃气安全管理等工作2021/6/21 9:45:54
最新评论 添加评论