A71112 | 身份证
来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
身份证号码是由十七位数字本体码和一位校验码组成。排列顺序从左到右依次为:六位数字“地址码”、八位数字“出生日期码”、三位数字“顺序码”和一位数字“校验码”。
“地址码”用来表示公民常住户口所在地区的行政区划代码。
“出生日期码”表示公民的出生年、月、日。
“顺序码”表示在同一“地址码”所表示的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
“校验码”是根据前面十七位数字计算得到,计算方法为:
第 1 步:将前面的身份证号码 17 位数分别乘以不同的系数。从第 1 位到第 17 位的系数分别为: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 这 11 个数字,其分别对应的校验码为 1、0、X (注意是大写)、9、8、7、6、5、4、3、2 ;也就是说如果上面得到的余数为 2 ,那校验码就是 X ,如果余数为 10 ,那校验码就是 2 。
现在你只记得自己身份证上的前 17 位,你能否不用回家拿身份证就可以知道最后一位是多少?
输入格式
输入只有一行,由 17 个数字组成,表示身份证号码的前 17 位,数字和数字之间用空格隔开。
输出格式
输出该身份证的最后一位校验码。
输入输出样例
输入 #1
4 4 2 0 0 0 1 9 9 6 0 1 0 1 0 2 3
输出 #1
4
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?