文章

3

粉丝

157

获赞

2

访问

2.4k

头像
身份证校验 题解:
P1722 北京理工大学2017年机试题
发布于2023年10月26日 11:22
阅读数 880

//

//  身份证校验.cpp

//  Algorithm

//

//  Created by Apricity on 2023/10/26.

/*身份证号的校验身份证号码共18位,最后一位是校验位。A[18] : aaaaaabbbbbbbbccc d

校验的规则如下:

身份证的前十七位数字和对应的权值相乘后相加后所得的和对11取余的余数与校验位(身份证最后一位)相同则身份证合法。

 

前十七位的权值分别是:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

 

余数x和校验位y的对应规则对应如下:

x:0 1 2 3 4 5 6 7 8 9 10

y:1 0 x 9 8 7 6 5 4 3 2

*/

#include<iostream>

#include<cmath>

#include<string.h>

#include<algorithm>

#include<queue>

using namespace std;

int main(){

    string id;

    long long sum=0;

    int p[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};    //权重

    char check[18]={'1','0','x','9','8','7','6','5','4','3','2'};//对应的校验码

    while (cin >> id) {。//循环读入

        sum=0;

       ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发