1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7910584216379105842;
2、将这17位数字和系数相乘的结果相加;
3、用加出来和除以11,看余数是多少;
4、余数只可能有012345678910这11个数字。其分别对应的最后一位身来自份证的号码为10X98765432;
5、通过上面得知如果余数是2,余数所对应的最后一位身份证号是X,就会在身份证的第18位数字上出现罗马数字的X。
扩展资料:
Python运用计算模型的计算代码
SFZ=input('360问答身份证前17位:')
iflen(str(SFZ))!=17:
raiseValueError('incorrectinput')
print('身份证第18位:'+str((12-(sum([(int(str(SFZ[NUM]))*(2**(17-NUM))%11)forNUMinrange(17)])%11))%11).repl盐争纸害答导庆欢太ace('10','x'))