java 蓝桥杯算法提高 身份证号码升级(题解)
试题 算法提高 身份证号码升级
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为:
1、把15位身份证号码中的年份由2位(7,8位)改为四位。
2、最后添加一位验证码。验证码的计算方案:
将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 x 9 8 7 6 5 4 3 2。
请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码。假设所有要升级的身份证的四位年份都是19××年
输入格式
一个15位的数字串,作为身份证号码
输出格式
一个18位的字符串,作为升级后的身份证号码
样例输入
110105491231002
样例输出
11010519491231002x
数据规模和约定
不用判断输入的15位字符串是否合理
题解:1.创建一个char数组,用来保存新的身份证号码
2.在数组的第七第八位插入1和9,
3.将旧的身份证插入数组中,最后一位计算出来
4.按顺序输出答案
import java.util.Scanner;public class 身份证号码升级 {public static void main(String[] args) {Scanner sc=new Scanner(System.in); //此类用于控制台读取数据String str=sc.nextLine();char[] ch=new char[18];for(int i=0;i<6;i++) //将前6位先插入数组{ch[i]=str.charAt(i);}ch[6]='1'; //这个是新增数字放在第七第八位,ch[7]='9';for(int i=8;i<17;i++) //将后面的数字插入数字{ch[i]=str.charAt(i-2);}//根据题目要求计算最后一位并插入数组中,char数字字符减'0'可以直接等于int的数,int sum=((ch[0]-'0')*7+(ch[1]-'0')*9+(ch[2]-'0')*10+(ch[3]-'0')*5+(ch[4]-'0')*8+(ch[5]-'0')*4+(ch[6]-'0')*2+(ch[7]-'0')*1+(ch[8]-'0')*6+(ch[9]-'0')*3+(ch[10]-'0')*7+(ch[11]-'0')*9+(ch[12]-'0')*10+(ch[13]-'0')*5+(ch[14]-'0')*8+(ch[15]-'0')*4+(ch[16]-'0')*2)%11;//得到一个数后,再根据题目变换数字char[] cc={'1','0','x','9','8','7','6','5','4','3','2'};ch[17]=cc[sum];//直接输出最后答案System.out.print(ch);}}
java 蓝桥杯算法提高 身份证号码升级(题解)相关推荐
- Java实现蓝桥杯 算法提高 身份证号码升级
算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...
- 蓝桥杯 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- java 蓝桥杯算法提高 字符串匹配(题解)
试题 算法提高 字符串匹配 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时 ...
- java 蓝桥杯算法训练 筛选号码(题解)
试题 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一 ...
- JAVA 蓝桥杯 算法提高 阮小二买彩票
JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...
- JAVA 蓝桥杯 算法提高 色盲的民主
JAVA 蓝桥杯 算法提高 色盲的民主 资源限制 时间限制:1.0s 内存限制:256.0MB 色盲的民主 问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自 ...
- [Java] 蓝桥杯ADV-171 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- 蓝桥杯 ADV-171 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- java 蓝桥杯算法提高 9-2 文本加密
试题 算法提高 9-2 文本加密 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A& ...
最新文章
- 博士生DIY超级显微镜,直接看到原子!网友:太极客了,一下省出几十万元
- 在哪个瞬间你感觉自己是一个产品经理?
- wav文件头修复_标记管理音频文件工具:Yate for Mac
- mysql高并发下主键冲突
- 全文2500字 详解Pandas与Lambda结合进行高效数据分析
- Python以进程方式无黑窗在后台运行(无命令窗)
- Atitit常见的标准化组织与规范数量jcp ecma iso
- 【虹膜识别】基于matlab GUI滤波器虹膜识别【含Matlab源码 917期】
- 网络编程项目——在线电子词典
- CSDN图片去除水印
- 【Proteus】单片机H桥驱动24V直流有刷电机
- Unity3D 2D设计小游戏移动幻影的实现
- 腾讯QQ关闭所有的热键,防止冲突
- 广义瑞利商_LDA里的瑞利商和广义瑞利商
- 视频号如何打造爆款内容,封面、选题、文案三大维度丨国仁网络
- 主题颜色提取 ——— Palette
- 如何提高场馆的二次成交率?
- 中文编码标准GB2312, GB18030的下载地址
- k8s dashboard安装
- 移远之Quectel_QuecPython_EC600S 开发板小记(上)
热门文章
- nginx expires配置
- JVM初学之类java的类加载器和双亲委派模型
- ElasticSearch概述(一)——简介
- html百分比单位,视窗单位 vs 百分比单位
- java利用循环打印AVA,JAVA语言-AVA文件流
- windows下的工具链 树莓派_Windows下交叉编译Qt 5.14.2至树莓派平台 QEMU模拟树莓派...
- laravel自动建mysql索引_让 Laravel 优雅地创建 MySQL 全文索引
- idea修改回默认字体,设置 IntelliJ Idea 的中英文字体
- 鸿蒙硬件HI3861-I2C-PCF8591
- Gensim加载word2vec模型与简易使用