首页 > 其他分享 >7.20

7.20

时间:2023-07-20 21:36:14浏览次数:34  
标签:10 号码 17 int 7.20 校验码 字符串

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:

首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2

现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

输入格式:

输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。

输出格式:

按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed

#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(void) { ll q[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; char m[11]={'1','0','X','9','8','7','6','5','4','3','2'};int n; string s; cin>>n; ll error=0; int sum=0; for(int i=0;i<n;i++){ cin>>s;for(int j=0;j<17;j++) sum =sum+(s[j]-'0')*q[j];//字符型转换成整型再求前17项的和sum=sum%11;

if(m[sum]!=s[17]){

error++; cout<<s<<endl;

}

sum=0;//用完一次归零 }

if(error==0) cout<<"All"<<' '<<"passed";system("pause");

return 0;

}


本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

输入格式:

输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。

输出格式:

在一行中打印出A−B的结果字符串。

输入样例:

I love GPLT!  It's a fun game!
aeiou

输出样例:

I lv GPLT!  It's  fn gm!

#include<stdio.h>
#include<string.h>
int main(){
char a[100000],b[100000];
gets(a);
gets(b);
for(int i=0;i<strlen(a);i++)
{
if(strchr(b,a[i]))
continue;
else
printf("%c",a[i]);
}
return 0;
}



 


标签:10,号码,17,int,7.20,校验码,字符串
From: https://www.cnblogs.com/dmx-03/p/17569731.html

相关文章

  • 2023.7.20 周四:稀疏数组
    1importjava.sql.SQLOutput;2importjava.util.Arrays;3importjava.util.Scanner;4//稀疏数组5publicclasstest{6publicstaticvoidmain(String[]args){7//首先创建一个11*11的二维数组0:没有棋子1:白棋2:黑棋8int[][]a......
  • 7.20 做题记录
    由于剪切板被误删了,所以搬运比较合适的题解。[ARC150F]ConstantSumSubsequenceSolution总结:判定条件严格时,考虑扩充条件利用单调性和分治结构减小状态数CF1523GTryBookingSolution总结:区间不交可以考虑分治CF1464FMyBeautifulMadnessSolution总结:集合到......
  • 7.20 类 学习笔记
    7.20学习笔记类的复用:可以通过创建多个对象来使用同一个类,避免重复编写相似的代码。继承:子类可以继承父类的属性和方法,从而实现代码的重用和扩展性。把类赋值给一个真正的实体,之后就具备其属性定义一个非model类采矿程序及架构学习泊松比:水平方向的变形/垂直方向变形......
  • 7.20 后记
    T1序列上树上欧拉遍历序TEL-Teleportation下午容斥......
  • 7.20上午-分模-进胶
      ......
  • 2023.7.20 环形子数组的最大和
    求子数组最大和可以用dp解决,所以环形子数组也可以用dp解决。最简单的就是破环成链,将原数组再复制一遍然后接到尾端,然后对每个起点做一次求子数组最大和dp。但是由于n的范围较大,这样做的时间复杂度是\(n^2\),会超时。所以必须想办法优化。根据这张图,我们可以把子数组分为二种情......
  • 7.20日
    一、写了杭州电子科技大学的铜牌题,学了树形dp;#include<bits/stdc++.h>#defineintlonglong#definexfirst#defineysecond#defineendl'\n'#definepqpriority_queueusingnamespacestd;typedefpair<int,int>pii;vector<int>e[400010];inta[......
  • 在2023.7.20发生的一些事
    去Luogu交了一篇题解,其中关于有\(n\)层的满二叉树有一共有多少个节点的内容,一开始看错了写的是\(n^2\),审核打回说是\(2^n\),然后我又改成\(2^n\),结构审核又打回来说是\(2^n-1\)。虽然有我自己概念不清的原因在但是还是感觉有点无语(ˉ▽ˉ;).........
  • 【2023.07.20】成为渣男
    在约会了那么多女生后,我的内心逐渐趋向于平静,内心也不再痛苦了我对现在的女生是很失望的,好像每个人都是享乐主义我不是说享乐主义不好,但是她们给我的感受就是“这世上只有玩才是最重要的,抛弃了一切的责任和义务,只顾着自己开心就好”为什么失业了可以心安理得的啃老,为什么在花......
  • 集训游记 7.19-7.20 图论
    最小生成树MSTP5994[PA2014]Kuglarz考虑连边\(i,j\)表示花费代价知道区间\([i,j)\)的奇偶性.容易发现\(i,j\)联通就可以发现表示出\([i,j)\).考虑最终局面,一定要推出每个\([i,i+1)\)的奇偶性.要求每对\([i,i+1)\)联通.即整张图联通.最小生成树k条白边最小生成树......