酷代码 AI
菜单
全部AI  /  AI写代码神器
服务商

居民身份证是18位字符的编码,每个人的编码都是唯一的,校验规则如下: ∑(ai*wi)mod 11 = 1 i表示号码字符从左至右包括校验码字符在内的位置序号;ai表示第i位置上的号码字符值;Wi表示第i位置上的加权因子。即将各位上的数值乘上位权之和对11取余,余数为1则表示该编码正确。注意:如果最后一位校验码是“X”或“x”,则代表该校验码的数值为10。 各位的权值依次是:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1 例如某身份证号码为:370683198901117657,这是正确的编码。 又比如身份证号:43038120051120041X,这是正确的编码, 还比如身份证号:150402200002010020,这是正确的编码。 又如某号码为:470683198902117657,这是错误的编码。 格式 输入格式 第一行是一个数字n(1≤n≤150),表示后面有n个号码需要判断 从第二行起,每行一个18位的字符串,表示要判断的身份证号码,一共有n行 输出格式 输出一个整数值,表示正确的身份证号码的个数

要解决这个问题,我们需要验证给定的身份证号码是否符合校验规则。具体步骤如下: 1. 检查身份证号码长度是否为18位。 2. 将前17位字符转换为数字(如果校验码是'X'或'x',则视为10)。 3. 计算各位数字与对应权值的乘积之和。 4. 计算该和对11取余的结果,余数为1则校验通过。 解决代码 ```python n = int(input()) count = 0 weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1] for _ in range(n): id_num = input().strip() if len(id_num) != 18: continue total = 0 valid = True for i in range(17): if not id_num[i].isdigit(): valid = False break total += int(id_num[i]) * weights[i] if not valid: continue # 处理校验码 last_char = id_num[17] if last_char.upper() == 'X': check_value = 10 elif last_char.isdigit(): check_value = int(last_char) else: continue total += check_value * weights[17] if total % 11 == 1: count += 1 print(count) ``` 代码解释 1. 输入处理:读取需要验证的身份证号码数量`n`,然后逐个读取每个号码。 2. 长度检查:确保每个号码长度为18位,否则跳过。 3. 前17位验证:检查前17位是否为数字,计算它们与对应权值的乘积之和。 4. 校验码处理:校验码可以是数字或'X'/'x',转换为对应的数值10。 5. 校验计算:将校验码与权值的乘积加入总和,检查总和模11是否为1。如果是,则该号码有效,计数器增加。 6. 输出结果:打印有效身份证号码的总数。 需要注意的逻辑点 - 身份证号码必须严格为18位,长度不足或超出的直接跳过。 - 前17位必须全为数字,否则该号码无效。 - 校验码可以是数字或'X'/'x',其他字符无效。 [2025-05-15 21:58:44 | AI写代码神器 | 530点数解答]

热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
输入一个字,显示以这个字开头的歇后语
输入一个字,显示以这个字开头的成语
极速在线生成证件照
极速更换证件照红、蓝、白底色
实用工具查看更多
阿里云99元2核2G服务器/年,199元2核4G服务器随心买。
今日油价 [生活类]
全国各省油价,实时更新。
图片互转base64 [开发类]
将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页、编辑器中。 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地方。
时间转换器 [开发类]
时间戳转换器,时间、毫秒、秒、倒计时查看
录入名字、电话、邮箱、个人介绍信息,生成二维码,可通过此码扫码添加微信联系人
数独游戏 [娱乐类]
数独(Sudoku)是经典的9x9数字逻辑谜题。在有81个小格的九宫格内,玩家依据初始数字推理填入1 - 9的数字,要保证每行、每列以及每个3x3宫格中的数字都不重复。这款在线数独游戏有多难度可选,没有头绪时,可以点开答案看一下哦^_^
经典推箱子 [娱乐类]
基于H5的经典推箱子小游戏,锻炼玩家的眼力和反应力,非常不错
AI摸鱼五子棋 [娱乐类]
基于H5的五子棋人机对练,锻炼玩家的眼力和反应力,非常不错
相关提问