1986: 身份证校验

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:390 解决:176

题目描述

身份证号码中的校验码是身份证号码的最后一位,它是依据GB 11643-1999中关于公民身份号码的规定,通过精密的计算公式得出的。公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码,最后一位是数字校验码。校验码的计算方法为:将前17位数字分别乘以系数(7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2),将乘积结果相加后除以11取余数。余数0至10分别对应校验码1、0、X、9、8、7、6、5、4、3、2,其中余数为2时对应罗马数字X。例如前17位乘积和为189时,189除以11余2,对应校验码为X。校验码若计算结果为10则用X代替。

输入

一串数字,代表身份证的前17位。

输出

18位的完整身份证号。

样例输入 复制

12345678901234567

样例输出 复制

123456789012345677

提示

本题不考虑身份证号是否可能真实存在。如前17位可能是00000000000000000,而在现实中不存在这种情况。