算法笔记_101:蓝桥杯练习 算法提高 身份证号码升级(Java)
目录
1 问题描述
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××年
2 解决方案

具体代码如下:
import java.util.Scanner;
public class Main {
    public void printResult(String A) {
        char[] arrayA = A.toCharArray();
        int[] result = new int[18];
        for(int i = 0;i < A.length();i++) {
            if(i >= 6)
                result[i + 2] = arrayA[i] - '0';
            else {
                result[i] = arrayA[i] - '0';
            }
        }
        result[6] = 1;
        result[7] = 9;
        int[] temp = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
        char[] temp1 = {'1','0','x','9','8','7','6','5','4','3','2'};
        int sum = 0;
        for(int i = 0;i < 17;i++)
            sum += result[i] * temp[i];
        sum %= 11;
        for(int i = 0;i < 17;i++)
            System.out.print(result[i]);
        System.out.print(temp1[sum]);
    }
    public static void main(String[] args) {
        Main test = new Main();
        Scanner in = new Scanner(System.in);
        String A = in.nextLine();
        test.printResult(A);
    }
}
算法笔记_101:蓝桥杯练习 算法提高 身份证号码升级(Java)的更多相关文章
- 算法笔记_107:蓝桥杯练习  算法提高 学霸的迷宫(Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要 ...
 - 算法笔记_096:蓝桥杯练习 算法提高 求最大值(Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大.并且要求你选定的数对的ai之和非负,bi之和非负 ...
 - 算法笔记_091:蓝桥杯练习 递推求值(Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 已知递推公式: F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5, F(n, 2)=F(n-1, 1) + 3F(n- ...
 - 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
		
目录 1 问题描述 2 解决方案 2.1 递归法 2.2 递推法 1 问题描述 问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰 ...
 - 算法笔记_055:蓝桥杯练习 Tricky and Clever Password (Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 在年轻的时候,我们故事中的英雄——国王 Copa——他的私人数据并不是完全安全地隐蔽.对他来说是,这不可接受的.因此,他发明了一种密码,好 ...
 - 算法笔记_067:蓝桥杯练习 算法训练 安慰奶牛(Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路.道路被用来连接N个牧场,牧场被连续地编号为1到N.每一个牧场都是 ...
 - 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)
		
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...
 - 算法笔记_106:蓝桥杯练习 算法提高 周期字串(Java)
		
目录 1 问题描述 2 解决方案 2.1 第一印象解法(80分) 2.2 借鉴网友解法(100分) 1 问题描述 问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些“从前有座山,山里有座庙,庙里有 ...
 - 算法笔记_102:蓝桥杯练习 算法提高 快乐司机(Java)
		
目录 1问题描述 2 解决方案 1 问题描述 问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌“快乐的小司机”.话说现在当司机光 ...
 
随机推荐
- 洛谷P3942将军令
			
啦啦啦,又是五月天的歌------ 题目传送门 那么来分析下题目;给定你一棵树,告诉你一支队伍能管辖的范围,求能覆盖整棵树的最少队伍数. 嘛,如果不会做,第一个想到的肯定是暴搜嘛,但是代码打起来肯定也 ...
 - Bzoj3197/洛谷3296 [SDOI2013]刺客信条assassin(树的重心+树Hash+树形DP+KM)
			
题面 Bzoj 洛谷 题解 (除了代码均摘自喻队的博客,可是他退役了) 首先固定一棵树,枚举另一棵树,显然另一棵树只有与这棵树同构才有可能产生贡献 如果固定的树以重心为根,那么另一棵树最多就只有重心为 ...
 - 解决Linux环境下安装xampp之后外部无法连接MySQL的问题
			
在Linux系统下,开发PHP一般都是LAMP环境,对于开发环境来讲,没有必要花太大精力去单独配置LAMP环境,采用xampp一键安装包是一个很好的方式.在Linux系统上安装xampp的过程这里就不 ...
 - 2017 icpc 沈阳网络赛
			
cable cable cable Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
 - 【图论】Self-Assembly(6-19)
			
[UVA1572]Self-Assembly 算法入门经典第6章6-19(P172) 题目大意:有一些正方形,每条边上都有A-~Z- A+~Z+的编号,或者00,A+的边可以拼A-,反之亦然.00的边 ...
 - BZOJ 2288 【POJ Challenge】生日礼物(贪心+优先队列)
			
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2288 [题目大意] 给出一列数,求最多取m段连续的数字,使得总和最大 [题解] 首先我 ...
 - UVA 12284   Digital Matrix
			
思路:这个分清楚情况就很好做了. 注意一点当A的转置等于B的时候(对角线除外),记录A的下三角(或上三角)有cnt个的数与B不同,如果cnt>1则 不需要额外的步数就可以了,否则当k==2时结果 ...
 - 【MySQL笔记】启动弹窗问题,unable to connect to remote host. catalog download has failed.
			
安装完MySQL之后,它每天凌晨启动一个Intaller任务,甚是烦人: 这是一个Windows的计划服务,在这里删除即可,开始/附件/系统工具/任务计划程序,把mysql的定时任务计划取消/删除 ...
 - Java中的文件操作(一)RandomAccessFile
			
今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...
 - iOS UIPrintInteractionController打印
			
- (void)printData{ //为打印做准备,创建一个指向sharedPrintController的引用 UIPrintInteractionController *printer = [ ...