A5556.身份证验证
入门
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
你需要实现一个身份证合法性校验程序:
一个合法的身份证包含17位数字+1位校验码,校验码的计算规则如下:
首先对前17位数字加权求和,权重分配为:[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
假如身份证号为:114514...
那么这个身份证的权值为:1×7+1×9+4×10+5×5......
然后将计算的权值对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
下面给出一个身份证,请判断它的合法性。
输入格式
输入一个长度为 18 的待验证字符串。
输出格式
若该字符串是身份证号,输出 Yes
,否则输出 No
。
输入输出样例
输入#1
12010X198901011234
输出#1
No
输入#2
320124198808240056
输出#2
Yes
输入#3
litiansuo1145141919X
输出#3
No