试题 算法提高 身份证号码升级

资源限制
时间限制: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 蓝桥杯算法提高 身份证号码升级(题解)相关推荐

  1. Java实现蓝桥杯 算法提高 身份证号码升级

    算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...

  2. 蓝桥杯 算法提高 身份证号码升级

    问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...

  3. java 蓝桥杯算法提高 字符串匹配(题解)

    试题 算法提高 字符串匹配 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时 ...

  4. java 蓝桥杯算法训练 筛选号码(题解)

    试题 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一 ...

  5. JAVA 蓝桥杯 算法提高 阮小二买彩票

    JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...

  6. JAVA 蓝桥杯 算法提高 色盲的民主

    JAVA 蓝桥杯 算法提高 色盲的民主 资源限制 时间限制:1.0s 内存限制:256.0MB  色盲的民主 问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自 ...

  7. [Java] 蓝桥杯ADV-171 算法提高 身份证号码升级

    问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...

  8. 蓝桥杯 ADV-171 算法提高 身份证号码升级

    问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...

  9. java 蓝桥杯算法提高 9-2 文本加密

    试题 算法提高 9-2 文本加密 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A& ...

最新文章

  1. 博士生DIY超级显微镜,直接看到原子!网友:太极客了,一下省出几十万元
  2. 在哪个瞬间你感觉自己是一个产品经理?
  3. wav文件头修复_标记管理音频文件工具:Yate for Mac
  4. mysql高并发下主键冲突
  5. 全文2500字 详解Pandas与Lambda结合进行高效数据分析
  6. Python以进程方式无黑窗在后台运行(无命令窗)
  7. Atitit常见的标准化组织与规范数量jcp ecma iso
  8. 【虹膜识别】基于matlab GUI滤波器虹膜识别【含Matlab源码 917期】
  9. 网络编程项目——在线电子词典
  10. CSDN图片去除水印
  11. 【Proteus】单片机H桥驱动24V直流有刷电机
  12. Unity3D 2D设计小游戏移动幻影的实现
  13. 腾讯QQ关闭所有的热键,防止冲突
  14. 广义瑞利商_LDA里的瑞利商和广义瑞利商
  15. 视频号如何打造爆款内容,封面、选题、文案三大维度丨国仁网络
  16. 主题颜色提取 ——— Palette
  17. 如何提高场馆的二次成交率?
  18. 中文编码标准GB2312, GB18030的下载地址
  19. k8s dashboard安装
  20. 移远之Quectel_QuecPython_EC600S 开发板小记(上)

热门文章

  1. nginx expires配置
  2. JVM初学之类java的类加载器和双亲委派模型
  3. ElasticSearch概述(一)——简介
  4. html百分比单位,视窗单位 vs 百分比单位
  5. java利用循环打印AVA,JAVA语言-AVA文件流
  6. windows下的工具链 树莓派_Windows下交叉编译Qt 5.14.2至树莓派平台 QEMU模拟树莓派...
  7. laravel自动建mysql索引_让 Laravel 优雅地创建 MySQL 全文索引
  8. idea修改回默认字体,设置 IntelliJ Idea 的中英文字体
  9. 鸿蒙硬件HI3861-I2C-PCF8591
  10. Gensim加载word2vec模型与简易使用