PAT basic 1031
来源:互联网 发布:java 中接口interface 编辑:程序博客网 时间:2024/06/03 19:53
#include <iostream>#include <string>using namespace std;bool func(string a);int main() { int n; int count = 0; cin >> n; for (int i = 0; i < n; i++) { string a; cin >> a; if (func(a)) count++; } if (count == 0) cout << "All passed"; return 0;}bool func(string s) { int sum = 0; int a[18]; for (int i = 0; i < 17; i++) { if(!isdigit(s[i])) { cout << s << endl; return false; } a[i] = s[i] - '0'; } if (s[17] == 'X') a[17] = 10; else a[17] = s[17] - '0'; int b[17] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; for (int i = 0; i < 17; i++) { sum = sum + a[i] * b[i]; } sum = sum % 11; int c[11] = {1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2}; if (c[sum] != a[17]) { //a[]存放的是数字化后的身份证号 b[]存放的是权重 c[]存放的模数之后对应的校验码 for (int i = 0; i < 17; i++) { cout << s[i]; } if (a[17] != 10) cout << a[17] << endl; else { cout << "X" << endl; } return true; } else { return false; }}
阅读全文
0 0
- PAT basic 1031
- PAT Basic 1031
- PAT (Basic Level) Practise-1031
- PAT Basic
- PAT(basic level) 1031 查验身份证(15)
- PAT (Basic Level) Practise
- PAT Basic 1001
- PAT Basic 1002
- PAT Basic 1005
- PAT Basic 1006
- PAT Basic 1007
- PAT Basic 1008
- PAT Basic 1009
- PAT Basic 1010
- pat basic level 1016
- pat basic level 1018
- pat basic level 1019
- PAT(basic level)题解
- pandas入门——loc与iloc函数
- 二叉树的静态实现
- Linux 命令全称
- python序列化
- HDFS snapshot操作实战
- PAT basic 1031
- 内存检测工具valgrind
- PAT basic 1032
- 利用opencv实现人脸检测(C++版)
- 基于jwt的token验证
- 基础部分
- PAT basic 1033
- PAT basic 1034
- 2017-08-07 NOIP模拟赛