#P952. 【入门】身份证

【入门】身份证

题目描述

身份证号码是由十七位数字本体码和一位校验码组成。排列顺序从左到右依次为:六位数字"地址码"、八位数字"出生日期码"、三位数字"顺序码"和一位数字"校验码"。

"地址码"用来表示公民常住户口所在地区的行政区划代码。

"出生日期码"表示公民的出生年、月、日。

"顺序码"表示在同一"地址码"所表示的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。

"校验码"是根据前面十七位数字计算得到,计算方法为:

11 步:将前面的身份证号码 1717 位数分别乘以不同的系数。从第 11 位到第 1717 位的系数分别为:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,27,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2

22 步:将这 1717 位数字和系数相乘的结果相加;

33 步:用加出来的和除以 1111,得到余数;

44 步:余数只可能有 0,1,2,3,4,5,6,7,8,9,100,1,2,3,4,5,6,7,8,9,101111 个数字,其分别对应的校验码为 1,0,X1,0,\text{X}(注意是大写),9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2;也就是说如果上面得到的余数为 22,那校验码就是 X\text{X},如果余数为 1010,那校验码就是 22

现在你只记得自己身份证上的前 1717 位,你能否不用回家拿身份证就可以知道最后一位是多少?

输入格式

输入只有一行,由 1717 个数字组成,表示身份证号码的前 1717 位,数字和数字之间用空格隔开。

输出格式

输出该身份证的最后一位校验码。

样例

4 4 2 0 0 0 1 9 9 6 0 1 0 1 0 2 3
4

来源

数组问题