文章

32

粉丝

0

获赞

5

访问

548

头像
身份证校验 题解:
P1722 北京理工大学机试题
发布于2025年8月3日 16:09
阅读数 25

#include<bits/stdc++.h>
using namespace std;

int w[] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int trans[] = {1,0,'X'-'0',9,8,7,6,5,4,3,2};

int main(){
	
	string line = "";
	while(getline(cin, line)) {
		if(line.length() == 18) {
			int res = 0;
			for(int i = 0; i < 17; i++) {
				res += w[i]*(line[i]-'0');
			}
			if (trans[res%11] == line[17]-'0') {
				printf("ID Corrent\n");
			} else {
				printf("ID Wrong\n");
			}
		} else {
			printf("ID Wrong\n");
		}
	}
	
	return 0;

}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发