1053: 身份证编码(二)
Description
中国大陆居民身份证号由18个字符组成:第1到6位字符为地址代码,表示某省某市某区或县;第7到14位字符代表居民的出生年月日;第15到17位字符代表同一辖区内、同年同月出生的顺序号,其中第17位字符表示性别,奇数为男性,偶数为女性;第18位字符代表校验码。
地址代码
|
出生年月日
|
顺序号(此为男)
|
校验码
|
339005
|
20020808
|
621
|
4
|
校验码是0~10中的任意一个,其中10用X表示。
校验码的计算方法如下:
1 将身份证号码的前17位数字分别乘以对应的系数。对应关系如下:
号码位
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
系数
|
7
|
9
|
10
|
5
|
8
|
4
|
2
|
1
|
6
|
3
|
7
|
9
|
10
|
5
|
8
|
4
|
2
|
[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
2 将17位数字和系数相乘的结果累计求和
3 用所求的和除以11得到余数
4 用余数与身份证号码的最后一位校验码进行对应,对应关系如下:
余数
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
校验码
|
1
|
0
|
X
|
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
['1','0','X','9','8','7','6','5','4','3','2']
输入某人的身份证号码,判断最后一位校验码是否正确。
Input
339005200208086214
Output
True
Sample Input Copy
339005200208086213
Sample Output Copy
False