题目地址

#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>using namespace std;string str[1005];
bool a[1005];
int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char c[17]={'1','0','X','9','8','7','6','5','4','3','2'};
int ans=0;int main(void)
{int t; cin>>t;for(int i=0;i<t;i++){cin>>str[i];int sum=0;for(int j=0;j<17;j++){if(str[i][j]>'9'||str[i][j]<'0') {a[i]=true;break;}else{sum+=(str[i][j]-'0')*b[j];}}if(!a[i]&&c[sum%11]!=str[i][17]) a[i]=true;if(a[i]) ans++;}if(!ans) cout<<"All passed";else{for(int i=0;i<t;i++){if(a[i]) cout<<str[i]<<endl;}}return 0;
}
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
int a[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
map<int,char>mp;
int main(void)
{mp[0]='1',mp[1]='0',mp[2]='X',mp[3]='9',mp[4]='8',mp[5]='7';mp[6]='6',mp[7]='5',mp[8]='4',mp[9]='3',mp[10]='2';int n; cin>>n;bool flag=false;for(int j=0;j<n;j++) {string s; cin>>s;int sum,i;sum=0;for(i=0;i<=16;i++){if(s[i]>='0'&&s[i]<='9') {sum+=(s[i]-'0')*a[i];}else {flag=true;cout<<s<<endl;break;}} if(i==17) if(mp[sum%11]!=s[17]) cout<<s<<endl,flag=true; }if(!flag) cout<<"All passed";return 0;
}
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int a[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char b[18]={'1','0','X','9','8','7','6','5','4','3','2'};
bool flag;
int main(void)
{int n; cin>>n;for(int i=0;i<n;i++){string s; cin>>s;int sum,j;sum=0;for(j=0;j<=16;j++){if(s[j]>='0'&&s[j]<='9'){sum+=(s[j]-'0')*a[j];}else{flag=true;cout<<s<<endl;break;}}if(j==17&&b[sum%11]!=s[17]) flag=true,cout<<s<<endl;}if(!flag) cout<<"All passed";return 0;
}
#include<bits/stdc++.h>
using namespace std;
vector<string>ans;
int a[20]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char b[20]={'1','0','X','9','8','7','6','5','4','3','2'};
int main(void)
{int n; cin>>n;while(n--){string s; cin>>s;bool flag=true;int sum=0;for(int i=0;i<s.size()-1;i++){if(s[i]<'0'||s[i]>'9'){flag=false;break;}sum=(sum+(s[i]-'0')*a[i])%11;}if(!flag) ans.push_back(s);else{if(b[sum]!=s[17]) ans.push_back(s);}}if(ans.size()==0){cout<<"All passed";return 0;}for(int i=0;i<ans.size();i++) cout<<ans[i]<<endl;return 0;
}

【PAT乙级】1031 查验身份证 (15 分)相关推荐

  1. PAT乙级 1031 查验身份证 (15 分)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  2. PAT 乙级 1031 查验身份证 (15分)

    1031 查验身份证 (15分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2, ...

  3. C++学习之路 | PTA乙级—— 1031 查验身份证 (15 分)(精简)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  4. 乙级--1031 查验身份证 (15分)(中等)

    题目描述:(15) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7 ...

  5. PAT 乙级 1031. 查验身份证(15) Java版

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  6. 【2020模拟考试T1】【PAT乙】1031 查验身份证 (15分)模拟

    problem 1031 查验身份证 (15分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10, ...

  7. 1031 查验身份证 (15 分)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  8. PAT乙级1031 查验身份证

    1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...

  9. PAT乙级(1031 查验身份证)

    PAT乙级1031题解题: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}:然后将计算的和对11取模得到值Z:最后按照以下关系对应Z ...

  10. pat 乙级 1031 查验身份证(C++)

    题目 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5 ...

最新文章

  1. Facebook 发布深度学习工具包 PyTorch Hub,让论文复现变得更容易
  2. PHP报“Cannot start session without errors”
  3. Pasha and Phone
  4. 【AWSL】之Linux管理(RPM)程序
  5. flash 语法 入门
  6. Catalan数(数论)
  7. SSE图像算法优化系列十八:三次卷积插值的进一步SSE优化。
  8. POJ 1789(最小生成树)
  9. c# Hello World
  10. vue之神奇的动态按钮
  11. 读书感受 之 《乔布斯全书》
  12. 笔记本电脑开机黑屏没反应怎么办
  13. 2019 计蒜之道 初赛 第一场(A. 商汤的AI伴游小精灵)
  14. MATLAB数字图像课题的开题报告
  15. Restful 是什么? 怎么使用Restful
  16. iOS公司开发者账号申请详细教程
  17. 软件测试肖sir___面试题总结
  18. 黄聪:清理微信浏览网站的缓存,Cookie
  19. Quartus II无法打开
  20. tableau-当工作表没有数据时显示无

热门文章

  1. VS打开文件,解决方案资源管理器自动定位到文件位置
  2. java 对象 输出
  3. 处理2D图像和纹理——显示文字
  4. Vs2010与VC的区别
  5. Ubuntu 14.04 安装SSH
  6. android init.rc中启动的service 默认是disable的,后续如何启动此服务
  7. 吴恩达机器学习(第二章)——单变量线性回归
  8. css设置背景图片缩小,css3 设置背景图片大小(缩略图形式缩小)
  9. 死锁的4个必要条件和处理策略
  10. (chap8 确认访问用户身份的认证) BASIC认证(基本认证)