新18位身份证号的结构是:六位数字地址码+八位数字出生日期码+三位数字顺序码+一位数字校验码
前17位都很好得到(前六位是地区行政编码,比如北京市是110000,其他请参考官方网站查询:【链接登录后可见】 。八位出生日期要注意,比如你是1990年1月1日出生的,那么就是:19900101),关键也是
【查看更多内容请登录哈】
算法本身有错误, 所以才会有偏差.
计算最后一位校验码时, 前两个步骤有明显错误, 引用原文:
1、将前17位数乘以不同的系数,系数对应表:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2、将前17位数加上上面的每个数相乘的结果代码中的实现 :
[mw_shl_co
先收藏了,慢慢研究一下!!
@1# 都是学爪哇的啊
额,好吧,其实原来我也不懂的说
#17!学习到了
谢谢分享啊
好吧 原来身份河蟹证号是这样的
以前用C++写过一次 学习了 多谢
看贴回贴能拿分。为什么不回?你说呢
vulcan 发表于 2012-8-19 20:11 【链接登录后可见】
写代码的风格还不错,就是老不加空格,要看死人了
谢谢,以后注意,忘了格式化。
秦失吊老聃 发表于 2012-8-10 21:05 【链接登录后可见】
太碉堡了,我原来就把身份证号最后一位减一号,貌似也行
这样也可以==!@88#
@3*碉堡了
备注:忠于原著,代码第24行i可以不用-1