patB1031 查验身份证

原创 2018年04月15日 20:38:53
#include <iostream>
#include <cstring> 
using namespace std;
int weight[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int z[11]={0,1,2,3,4,5,6,7,8,9,10};
char m[11]={'1','0','X','9','8','7','6','5','4','3','2'};


string str[101];
int calculate(string ss){
int ans=0;
for(int i=0;i<17;i++){
ans+=(ss[i]-'0')*weight[i];
}
return ans;
}
int main(int argc, char** argv) {
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>str[i];
int count=0,countfalse=0;
while(1){
//calculate
int temp=calculate(str[count]);
int index=temp%11;
//compare
if(str[count][17]!=m[index]) {
cout<<str[count]<<endl;
countfalse++;
}
count++;
if(count==n) break;
}
if(countfalse==0) cout<<"All passed"<<endl;
return 0;

}



PATB1031:查验身份证

PATB1031:查验身份证【思路】: 输入 遍历每个字符 分类 不符合的用flag标记 通过标记输出结果 1、含有X的 2、不含有X 但是验证不通过的 都是用标记flag...
  • qq_29475553
  • qq_29475553
  • 2016-09-04 20:03:10
  • 148

1031_查验身份证(15)

#include int main() { int n,i,j,k; int sum,weight[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; char...
  • fang_abc
  • fang_abc
  • 2015-02-18 16:01:54
  • 2084

L1-016. 查验身份证-PAT团体程序设计天梯赛GPLT

L1-016. 查验身份证 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,...
  • liuchuo
  • liuchuo
  • 2016-07-21 23:00:41
  • 1620

1031. 查验身份证(15) python篇

1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Stand...
  • zjw_python
  • zjw_python
  • 2017-03-25 12:51:55
  • 291

L1-016. 查验身份证 java

L1-016. 查验身份证 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程...
  • serahcm
  • serahcm
  • 2017-04-10 22:01:55
  • 275

查验身份证 -- 天梯模拟

Think: 这题挺简单的,属于水题吧。。 1.用一维数组来储存各位数字的权重。 2.用字符数组来存储检验码。 3.输入ID计算前17位的SUM。 4.SUM % 11 得到 Z 然后进行...
  • zb756999355
  • zb756999355
  • 2017-02-21 17:28:53
  • 374

Java - PAT - 1031. 查验身份证(15)

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

1031. 查验身份证(15)--Python

测试点通不过: #查验身份证 def have_judge(my_list, judge_list, factor_list): sum = 0 x = 0 last_num = ...
  • baidu_38271024
  • baidu_38271024
  • 2017-10-25 12:07:18
  • 152

PAT Basic 1031. 查验身份证(15)(C语言实现)

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

1031. 查验身份证(15)

1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN,...
  • ice_camel
  • ice_camel
  • 2014-12-30 00:57:30
  • 943
收藏助手
不良信息举报
您举报文章:patB1031 查验身份证
举报原因:
原因补充:

(最多只允许输入30个字)