[PAT乙级]1031 查验身份证

一个合法的身份证号码由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。
输入样例1:

4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X

输出样例1:

12010X198901011234
110108196711301866
37070419881216001X

输入样例2:

2
320124198808240056
110108196711301862

输出样例2:

All passed

代码如下:

#include <iostream>
#include <string>
using namespace std;
int w[] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
char M[] = { '1','0','X','9','8','7','6','5','4','3','2' };int main() 
{int n;cin >> n;bool flag = true;for (int i = 0; i < n; i++){string str;cin >> str;int sum = 0;for (int i = 0; i < str.length() - 1; i++){sum += (str[i] - '0')*w[i];}int m = sum % 11;if (str[str.length() - 1] != M[m]){flag = false;cout << str << endl;}}if (flag){cout << "All passed" << endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Long Path CodeForces - 407B(动态规划+思维+公式推导)

题意&#xff1a; 起点为1&#xff0c;终点为n1&#xff0c;对应第i个各点&#xff0c;如果我奇数次到达i点&#xff0c;那么下一步走到a【i】的位子&#xff0c;如果是偶数次到达&#xff0c;那么下一步走到i1的位子。 问从1走到n1一共需要走多少步&#xff1f;结果对1e97取模…

[PAT乙级]1032 挖掘机技术哪家强

为了用事实说明挖掘机技术到底哪家强&#xff0c;PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式&#xff1a; 输入在第 1 行给出不超过 10​5​​ 的正整数 N&#xff0c;即参赛人数。随后 N 行&#xff0c;每行给出一位参赛者的信息…

断!舍!离!

最近颈椎病很严重&#xff0c;各种寻医问药&#xff0c;找各路中西医专家治疗。无奈&#xff0c;一直不见好。每周我都会去一个中医大夫那里做推拿&#xff0c;有一次我抱怨&#xff0c;这个病怎么这么难弄好。大夫笑了笑&#xff0c;说&#xff1a;颈椎病其实是个哲学问题。我…

linux权限746,linux文件权限学习笔一

linux文件权限学习随笔一linux中&#xff0c;文件权限一直是困扰初学者的难题。但是还必须要把文件权限搞明白&#xff0c;否则你就很难进一步学习linux&#xff0c;因为你听不懂他的说什么&#xff0c;看不懂他的身份&#xff0c;不知道他要做什么。我已经习惯使用windows&…

Compound Words UVA - 10391(c++用法中substr函数用法+map实现)

题意&#xff1a; 给出字典中一堆单词&#xff0c;单词的输入方式是以字典序输入的。问&#xff1a;在这一堆单词中&#xff0c;有那些单词是通过其它两个单词组合而来的。按字典序升序输出这些单词。 题目&#xff1a; You are to find all the two-word compound words in…

[C++11]返回值类型后置

在泛型编程中&#xff0c;可能需要通过参数的运算来得到返回值类型。 语法: auto func(参数1,参数2,...)->decltype(参数表达式)代码如下: #include <iostream> using namespace std;//template<typename R,typename T,typename U> //R add01(T t, U u) //{ …

在鹅厂面试5轮后扑街!微服务架构,我拿什么拯救你!

上周五接到朋友的电话&#xff0c;此前他一路披荆斩棘&#xff0c;离鹅厂Offer大概仅一步之遥。电话一接通我就说了一通让他请客吃饭的话&#xff0c;对面沉默了几秒钟&#xff0c;淡淡地说了句 “我终面没过....” 这让我一时语塞不知如何安慰他。两个中年油腻男硬是打了2小时…

linux加大ram 内核需要,Linux 5.1内核发布:io_uring接口+支持持久性内存用作RAM

拼 命 加 载 中 ...Linus Torvalds今天发布了Linux Kernel 5.1内核&#xff0c;这是一个功能强大的内核分支&#xff0c;它带来了许多重要的新功能&#xff0c;包括但不限于&#xff1a;改进了对IntelFastboot的支持&#xff1b;对Intel 22260 Wi-Fi的支持&#xff1b;对Raspbe…

Minimum Inversion Number HDU - 1394(求一个数字环的逆序对+多种解法)

题意&#xff1a; 给出n个数&#xff08;0~n-1&#xff0c;每个数仅出现一次&#xff09;,问它长为n的循环序列中逆序对最少的数量。 多种解法&#xff1a;暴力树状数组分治规律推导公式 题目&#xff1a; The inversion number of a given number sequence a1, a2, …, an…

C++实现拓扑排序(vector模拟邻接表存储,栈实现)

代码如下: #include<iostream> #include <vector> #include <string> #include <stack> using namespace std; const int N 10010;int in[N]; vector<int>v[N]; vector<int>printElem;int main() {int n, m;while (cin >> n >&…

如何借助Kubernetes实现持续的业务敏捷性

导语在当今以数字为动力&#xff0c;以客户为中心的世界中&#xff0c;敏捷性已成为组织提高其创建软件的速度、提高响应能力以满足不断变化的客户需求、保持敏捷性以适应变化的关键要素。敏捷不是商品&#xff0c;无法购买或轻易获得。要为组织创造可持续的敏捷性&#xff0c;…

Find them, Catch them POJ - 1703(种类并查集)

题意&#xff1a; 在这个城市里有两个黑帮团伙&#xff0c;现在给出N个人&#xff0c;问任意两个人他们是否在同一个团伙 1.输入D x y代表x于y不在一个团伙里 2.输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙里 题目&#xff1a; The police office in Tadu…

C++实现拓扑排序(邻接表存储,栈实现)

代码如下: #include <iostream> #include <stack> using namespace std; const int N 10010; using vnodeType int; typedef struct Node {int adj;int w;Node *next; }Node;typedef struct Vnode {int indegree;vnodeType v;Node *firstEdge; }Vnode;class Gra…

报复性降薪潮来袭

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份最近不少读者问我&#xff1a;“洋哥&#xff0c;公司要全员降薪了&#xff0c;我该留下还是走呢”。今年的职场环境的确很残酷&#xff0c;不少公司直接破产&#xff0c;还有很多公司开始降薪裁员来保证现金…

linux 的网络操作与配置文件,Linux常用文件与网络操作命令速记指南

ls复制代码代码如下:$ ls #查看当前目录下文件conf lnmp_install.sh README vhost_ngx_pagespeed.shinit.sh ngx_pagespeed.sh source vhost.sh复制代码代码如下:$ ls conf #查看conf目录下文件index.html nginx.conf pureftpd-mysql.conf tz.phpinit.d.nginx pure-ftpd.conf s…

[C++11]通过using定义基础类型和函数指针别名

1.定义别名 语法: typedef 旧的类型名 新的类型名; typedef unsigned int uint_t;using 新的类型 旧的类型; using uint_t int ;通过using和typedef的语法格式可以看到二者的使用没有太大的区别&#xff0c;假如我们定义一个函数指针&#xff0c;using的优势就凸显出来了&…

基于 abp vNext 和 .NET Core 开发博客项目

介绍此个人博客项目底层基于 ABP Framework (不完全依赖)搭建项目 和免费开源跨平台的 .NET Core 3.1 开发&#xff0c;可作为 .NET Core 入门项目进行学习&#xff0c;支持各种主流数据库(SqlServer、MySQL、PostgreSql、Sqlite)接入&#xff0c;接口遵循 RESTful API 接口规范…

添加库路经 linux,linux下的静态库与动态库

文件名形如 libxxx.so&#xff0c;其中so是 Shared Object 的缩写&#xff0c;即可以共享的目标文件。生成动态库常用 gcc 命令&#xff1b;举例&#xff1a;编写头文件&#xff1a;ok.h 文件#ifndef __OK_H__#define __OK_H__voidok();#endif编写 ok.c 文件#include "ok.…

操作系统习题三

题目&#xff1a; 1.有8个程序段&#xff0c;他们之间的前驱关系如下&#xff0c;试用信号量实现这些程序段之间的同步 2.简述进程同步机制的基本原则。 答&#xff1a;在多道程序环境下&#xff0c;当程序并发执行时&#xff0c;由于资源共享和进程合作&#xff0c;使同处于…

[C++11]函数模板的默认模板参数

在C11中添加了对函数模板默认参数的支持。 代码如下: #include<iostream> using namespace std;template<typename T long ,typename U int > void myTest(T t A,U u B) {cout << "t " << t << " u " << u <…