2161.判断身份证校验位是否正确

通过数:16提交数:106学校:北京理工大学保研机试真题 题目列表 标签
题目描述 给定一个身份证号码,判断其最后一位校验位是否正确。 如果不正确,给出正确的身份证号码。 身份证校验规则主要涉及中国大陆的 $18$ 位居民身份证号码,其校验机制基于 $ISO 7064:1983$ 标准的 $MOD 11-2$ 算法。 以下是详细规则: 校验码计算步骤 1. 前 $17$ 位加权求和 每位数字对应权重系数(从左到右): $[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]$ 计算公式 : $S = Sum(Ai \times Wi)$ ($Ai$ 为第 $i$ 位数字,$Wi$ 为对应权重) 2. 计算模 $11$ 的余数 $Y = S \mod 11$ 3. 匹配校验码 根据余数 $Y$ 对照表得到校验码 $C$: Y 0 1 2 3 4 5 6 7 8 9 10 --- --- --- --- --- --- --- --- --- --- --- ---- C 1 0 X 9 8 7 6 5 4 3 2 (注:$X$ 代表罗马数字 $10$) 输入格式 输入一个 $18$ 位的身份证号码。 输出格式 如果校验位正确,输出 Correct;如果不正确,输出正确的身份证号码。 输入样例 11010519491231002X 输出样例 Correct
C
补全
点击调试按钮即可调试代码。

点击提交按钮即可提交代码。