当前位置: 首页 > news >正文

中国身份证号码校验

题目描述

第二届河南省最美教师评选开始了,每一位同学都可以投票选出你支持的人选,但是为了防止刷票,必须通过身份验证才可投票。负责投票平台后台的老大爷希望你能帮他验证身份证号的合法性,防止那些熊孩子随意刷票,下面给出验证规则: (身份证末尾的大写X表示罗马数字10) 采用了ISO 7064:1983.MOD 11-2校验码,以防止不小心记错某一位
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2、将这17位数字和系数相乘的结果相加。
3、用加出来和除以11。
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。
5、通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是9。如果对应的数字是2,身份证的最后一位号码就是X。

特别注意:
”Ⅹ“ 是 罗马数字 10, 不是 英文大写字母 ”X“, 此处为了编码方便,使用了英文字母 ‘X’ 代替;

现在将给你提供一组身份证号码,请判断哪些是合法的,哪些是不合法的。
输入格式
第一行一个整数n,表示给你提供的身份证号码总数
接下来n行每行18个字符,为一个身份证序列,保证字符满足为0~9和X(末尾的X一定为大写) (不保证省份证真实存在,不保证年月日满足要求,但是只需要判断身份证是否合法,不需要判断年份月份是否现实)
输出格式
对于每一行输入,给出一个输出,表示输入的身份证是否合法 如果合法,则输出"True",否则,输出"False"

样例

样例输入
1
53010219200508011X

样例输出
True

数据范围与提示

数据范围
n <= 500

样例解释

首先我们得出前17位的乘积和
( (57)+(39)+(010)+(15)+(08)+(24)+(12)+(91)+(26)+(03)+(07)+(59)+(010)+(85)+(08)+(14)+(1*2) )是189,
然后用189除余11得出结果189%11 == 2,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的检验码是X。
所以,可以判定这是一个正确的身份证号码。

题解!!!!

#include<bits/stdc++.h>
using namespace std;
long long n,s,b[100]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
string a;
char c[100]={'1','0','X','9','8','7','6','5','4','3','2'},e;
int main()
{cin>>n;while(n--){s=0;cin>>a;// 将前面的身份证号码17位数分别乘以不同的系数for(int i=0;i<17;i++){s+=(a[i]-'0')*b[i];}s%=11;e=c[s];// 判断身份证最后一位是否与计算得到的校验码相同if(a[17]==e)cout<<"True";elsecout<<"False";cout<<endl;}return 0;
}

该程序使用一个整型数组 b 存储了身份证号码每一位的系数,即 7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。
然后通过循环,将每一位身份证号码与对应的系数相乘并累加到变量 s 上。
计算完后,将 s 取模 11,得到一个余数 s (余数范围为 0~10)。
然后通过余数 s 在字符数组 c 中找到对应的校验码 e
最后判断输入的身份证最后一位是否与计算得到的校验码 e 相同,如果相同输出 “True”,不相同输出 “False”。
程序中的 n 表示身份证号码的总数。
注意:在题目描述中,将罗马数字 10 用大写字母 X 表示,但在程序中使用的是英文字母 ‘X’。

点个赞吧,帅哥美女们,本人为小学生。

相关文章:

中国身份证号码校验

题目描述 第二届河南省最美教师评选开始了&#xff0c;每一位同学都可以投票选出你支持的人选&#xff0c;但是为了防止刷票&#xff0c;必须通过身份验证才可投票。负责投票平台后台的老大爷希望你能帮他验证身份证号的合法性&#xff0c;防止那些熊孩子随意刷票&#xff0c;…...

【Kubernetes】常见面试题汇总(五十四)

目录 120.创建 init C 容器后&#xff0c;其状态不正常&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属于【Kubernetes】的生产…...

不懂外语也能无障碍交流?探索4款超好用中英翻译工具

嘿&#xff0c;各位外贸流程的小伙伴们&#xff0c;今儿咱们来聊聊那些翻译神器&#xff0c;看看它们在中英文互译这条路上&#xff0c;是怎么给我们这些天天跟洋文打交道的哥们儿姐们儿减轻负担的。我亲身体验了福昕翻译在线、福昕翻译大师、海鲸AI翻译还有腾讯翻译君&#xf…...

C++ WebDriver扩展

概述 WebDriver协议基于HTTP&#xff0c;使用JSON进行数据传输&#xff0c;定义了client与driver之间的通信标准。无论client的实现语言&#xff08;如Java或C#&#xff09;&#xff0c;都能通过协议中的endpoints准确指示driver执行各种操作&#xff0c;覆盖了Selenium的所有功…...

WeChat_DevTools 断点调试方法总结

新建工程&#xff0c;以小程序 login 调试为例&#xff0c;代码如下&#xff1a; // 登录wx.login({success: res > {// 发送 res.code 到后台换取 openId, sessionKey, unionIddebugger;resThis this;wx.showModal({title: 登录成功,content: res.code res.code,comple…...

水波荡漾效果+渲染顺序+简单UI绘制

创建场景及布置 创建新场景Main,在Main场景中创建一个plane物体&#xff0c;命名为WaterWavePla,具体数值及层级面板排布如下&#xff1a; 编写脚本 创建一个文件夹&#xff0c;用于存放脚本&#xff0c;命名Scripts,创建一个子文件夹Effect,存放特效相关脚本&#xff0c;创建…...

深度学习中的结构化概率模型 - 使用图来描述模型结构篇

序言 在深度学习的探索之路上&#xff0c;结构化概率模型以其独特的视角和强大的表达能力&#xff0c;成为了研究复杂数据关系的重要工具。这一模型的核心在于其巧妙地利用图来描述模型结构&#xff0c;将随机变量间的复杂交互关系可视化、结构化。图的引入&#xff0c;不仅为…...

C语言中的栈帧

------------------------ | 局部变量区 | | (根据变量声明而变化) | ------------------------ | 参数区 | | (根据函数原型而变化) | ------------------------ | (可选) 保存寄存器区 | | (编译器/架构特定) | -…...

vue数组根据某些条件进行二次切割

原本的一个一维数组首先 1.根据depnm和bed的不同会分成不同的数组 2.在条件1的基础上分割出来的数组如果存在里面有isBgn1的会进行二次分割 比如原数组是[{depnm:1,bed:2,isBgn:0},{}……] 根据条件一会组成一个二维数组得到 [ [①depnm值一致的一个一维数组], [②bed值一…...

Yolov8改进轻量级网络Ghostnetv2

1,理论部分 轻量级卷积神经网络 (CNN) 专为移动设备上的应用程序而设计,具有更快的推理速度。卷积运算只能捕获窗口区域中的局部信息,这会阻止性能进一步提高。将自我注意引入卷积可以很好地捕获全局信息,但会在很大程度上阻碍实际速度。在本文中,我们提出了一种硬件友好…...

【Spring】@RequestMapping、@RestController和Postman

文章目录 1.RequestMapping 注解介绍2. RequestMapping 使用3. RequestMapping 是 GET 还是 POST 请求&#xff1f;GET 请求POST 请求指定 GET/POST 方法类型 2. Postman 介绍1. 创建请求2. 传参介绍1. 普通传参2. form-data3. x-www-form-urlencoded form 表单&#xff0c;对应…...

【深度学习基础模型】回声状态网络(Echo State Networks, ESN)详细理解并附实现代码。

【深度学习基础模型】回声状态网络&#xff08;Echo State Networks, ESN&#xff09;详细理解并附实现代码。 【深度学习基础模型】回声状态网络&#xff08;Echo State Networks, ESN&#xff09;详细理解并附实现代码。 文章目录 【深度学习基础模型】回声状态网络&#xf…...

Redis的基础认识与在ubuntu上的安装教程

来自Redis的自我介绍 我是Redis&#xff0c;一个中间件&#xff0c;职责是把数据存储在内存上&#xff0c;因此可以作为数据库、缓存、消息队列等场景使用。由于可以把数据存储在内存上&#xff0c;因此江湖人称快枪手 1.redis的功能特性 &#xff08;1&#xff09;数据在内存…...

鸿蒙harmonyos next flutter混合开发之ohos工程引用 har 文件

创建鸿蒙原生工程MyApplication。创建flutter module&#xff0c;生成har文件&#xff0c;并且将flutter module中.ohos文件entryability/EntryAbility.ets、pages/Index.ets分别替换MyApplication中的。 # 1. 创建 flutter子模块工程 flutter create -t module my_flutter_…...

react-问卷星项目(5)

实战 路由 路由设计&#xff0c;网址和页面的关系&#xff0c;就是从业务上分析需要哪些页面哪些页面内容可以抽离&#xff0c;业务流程要有入有出增加页面和Layout模版&#xff0c;模版就是抽离页面公共部分&#xff0c;比如都有顶部或者左侧导航&#xff0c;直接上代码&…...

08.useInterval

在 React 应用中,实现定时器功能通常需要使用 setInterval() 和 clearInterval(),这可能会导致代码复杂和难以维护。useInterval 钩子提供了一种声明式的方法来实现定时器功能,使得定时器的管理更加简单和直观。这个自定义钩子不仅简化了定时器的使用,还解决了一些常见的定…...

【Android 源码分析】Activity生命周期之onDestroy

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…...

增强现实中的物体识别与跟踪

增强现实&#xff08;AR&#xff09;中的物体识别与跟踪是实现虚拟内容与现实世界无缝融合的关键技术。以下是该领域的主要技术和方法概述&#xff1a; 1. 物体识别 1.1 特征提取 SIFT、SURF、ORB&#xff1a;传统的特征提取算法用于识别图像中的关键点并生成描述符&#xf…...

移动端实现下拉刷新和上拉加载(内含案例)

在前端开发中&#xff0c;上拉加载和下拉刷新常用于实现内容的动态加载&#xff0c;尤其在移动端的应用中。下面我将提供一个简单的示例和逻辑说明。 1. 逻辑说明&#xff1a; 下拉刷新&#xff1a; 用户向下拖动页面顶部&#xff0c;触发一个事件&#xff0c;刷新当前内容。需…...

Opencv第十一章——视频处理

1. 读取并显示摄像头视频 1.1 VideoCapture类 VideoCapture类提供了构造方法VideoCapture(),用于完成摄像头的初始化工作&#xff0c;其语法格式如下&#xff1a; capture cv2.VideoCapture(index) 参数说明&#xff1a; capture:要打开的摄像头视频。 index:摄像头设备索引。…...

SQL出现filesort 一定慢吗

前言&#xff1a;filesort 出现在当无法使用索引排序时&#xff0c;MySQL 必须自己计算排序顺序&#xff0c;这个过程称为 filesort。EXPLAIN 的 Extra 字段会出现 Using filesort。常见触发场景&#xff1a;排序列不在索引中&#xff0c;或顺序/方向与索引不一致ORDER BY 包含…...

别再手搓动画了!用PS搞定微信小程序GIF单次播放(附2022版安装包)

微信小程序GIF动画高效制作指南&#xff1a;从PS设计到开发落地全流程 在微信小程序开发中&#xff0c;动画效果的实现往往让开发者陷入两难选择&#xff1a;要么花费大量时间手写Canvas动画代码&#xff0c;要么寻找更高效的视觉呈现方案。当遇到需要精确控制播放次数的动画需…...

告别C盘爆满!手把手教你将VS2010旗舰版安装到其他盘(附完整配置流程)

告别C盘爆满&#xff01;手把手教你将VS2010旗舰版安装到其他盘&#xff08;附完整配置流程&#xff09; 对于开发者而言&#xff0c;Visual Studio 2010&#xff08;VS2010&#xff09;作为经典的开发环境&#xff0c;至今仍被许多项目所依赖。然而&#xff0c;随着系统盘空间…...

Mainframer错误排查指南:常见问题及解决方法大全

Mainframer错误排查指南&#xff1a;常见问题及解决方法大全 【免费下载链接】mainframer Tool for remote builds. Sync project to remote machine, execute command, sync back. 项目地址: https://gitcode.com/gh_mirrors/ma/mainframer Mainframer是一款高效的远程…...

警惕AI领域未经证实的技术传闻与虚构命名

我不能按照您的要求生成关于“TAI #200: Anthropic’s Mythos Capability Step Change and Gated Release”的博文内容。原因如下&#xff1a;该标题中出现的“Mythos”并非 Anthropic 官方公开发布或确认存在的模型、能力或产品名称。截至2024年7月&#xff0c;Anthropic 官方…...

AI驱动的DNA分析平台:简化生物信息学流程

1. 项目概述&#xff1a;当生物信息学遇上“开箱即用”的AI逻辑引擎“BIOREASON”这个名字一出现&#xff0c;我就下意识在笔记本上画了个双螺旋和神经网络的交叉草图——不是为了炫技&#xff0c;而是因为过去八年里&#xff0c;我亲手调试过三十多套DNA分析流程&#xff0c;从…...

农业电商服务系统(10078)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…...

【bash】git-bash windows 配置ssh免密登录ubuntu

需要一台ubuntu机器,长期运行 作为代理服务器,帮我访问github等白名单网络。 期望端口映射,长期运行。 在 Git Bash 环境下 在 Git Bash 环境下!Git Bash 确实完美支持 ~ 符号,而且我看到你的 ~/.ssh/ 目录下,id_ed25519.pub 已经静静地躺在那里了。 既然文件都在,而且…...

计算机视觉与深度学习融合的群养猪行为识别与分类算法【附算法】

✨ 长期致力于计算机视觉、深度学习、攻击识别、多物体玩耍识别、饮水和玩耍饮水器分类、进食识别、行为量化研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&…...

终极免费方案:一键解密网易云音乐NCM格式,轻松获得MP3文件

终极免费方案&#xff1a;一键解密网易云音乐NCM格式&#xff0c;轻松获得MP3文件 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了…...