文章
3
粉丝
186
获赞
2
访问
3.6k
//
// 身份证校验.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;
...
登录后发布评论
暂无评论,来抢沙发