zoukankan
html css js c++ java
一个身份证号码转换程序
/**/
/*
* 身份证号码结构:
* 十七位数字本体 + 一位校验码
* 从左到右依次为:
* 六位数地址码+八位数出身日期+三位数顺序码和一位校验码
* 地址码 : 由出生地区行政码划分
* 年出生日期码 : 年月日,之间不用分隔符
* 顺序码 : 同年同月同日生,男为奇数,女为偶数
* 校验码 : (1)十七位数字本体码加权求和公式
* s = sum(ai*wi),i=0,...,16
* ai: 第i位置上的身份证号码数字值
* wi: 第i位置上的加权因子
* wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
* (2)求模
* Y = mod(s,11)
* (3)通过模得到对应的校验码
* Y: 0 1 2 3 4 5 6 7 8 9 10
* 校验码: 1 0 X 9 8 7 6 5 4 3 2
*/
/**/
/////////////////////////////////////////////////////////
//
#include
<
iostream
>
#include
<
fstream
>
#include
<
cstdlib
>
#include
<
assert.h
>
#pragma
warning(disable:4786)
using
namespace
std;
/**/
/////////////////////////////////////////////////////////
//
//
参数入口定义
#define
IN
#define
OUT
//
常用值定义
#define
FALSE 0
#define
TRUE !(FALSE)
const
int
MODIFY_SPLITER
=
1
;
const
int
MODIFY_LENGTH
=
2
;
//
对应表格定义
//
加权因子
const
unsigned
int
w[
17
]
=
...
{
7
,
9
,
10
,
5
,
8
,
4
,
2
,
1
,
6
,
3
,
7
,
9
,
10
,
5
,
8
,
4
,
2
}
;
//
校验码
const
char
check_code[
11
]
=
...
{
'
1
'
,
'
0
'
,
'
X
'
,
'
9
'
,
'
8
'
,
'
7
'
,
'
6
'
,
'
5
'
,
'
4
'
,
'
3
'
,
'
2
'
}
;
/**/
/////////////////////////////////////////////////////////
//
//
函数声明
/**/
///////////////////////////////////////////////////////////////////////////
//
这个函数从OOP角度讲应该是private属性的
//
----------------------------------------------------------------------
//
void
ChangeIDInLine(IN
const
char
*
source, OUT
char
*
dest, IN unsigned
int
from);
/**/
/*
【source】: 以'
/*
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 *
宜臣珍珠(淡水好珍珠)
*/
查看全文
相关阅读:
leetcode-242-Valid Anagram
leetcode-232-Implement Queue using Stacks
机器学习(3)——梯度下降法
Codeforces Round #305 (Div. 2)D. Mike and Feet(单调栈)
Codeforces Round #304 (Div. 2)(CF546D) Soldier and Number Game(线性筛)
Codeforces Round #304 (Div. 2)(CF546E) Soldier and Traveling(最大流)
机器学习(2)——线性回归法
Codeforces Round #303 (Div. 2)(CF545) E Paths and Trees(最短路+贪心)
机器学习(1)——K近邻算法
简易解说拉格朗日对偶(Lagrange duality)(转载)
原文地址:https://www.cnblogs.com/ubunoon/p/2058928.html
最新文章
sed使用
awk基本介绍
【POJ
【POJ
【Aizu
【POJ
【HDU
【HDU
【HDU
【HDU
热门文章
【HDU
【HDU
leetcode-374-Guess Number Higher or Lower(二分查找)
leetcode-350-Intersection of Two Arrays II(求两个数组的交集)
leetcode-326-Power of Three
leetcode-303-Range Sum Query
leetcode-292-Nim Game(搬石子)
leetcode-283-Move Zeroes
leetcode-278-First Bad Version(注意不要上溢)
leetcode-268-Missing Number(异或)
Copyright © 2011-2022 走看看