| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:身份证最后一位的校验位公式中 check_number=Int((12-nSum % 11)%11)为什么 ...
取消只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
结帖率:79.38%
收藏
已结贴  问题点数:20 回复次数:3 
身份证最后一位的校验位公式中 check_number=Int((12-nSum % 11)%11)为什么要 12 去减
nSum= Val(Substr(cID,1,1)) * 7 ;
        + Val(Substr(cID,2,1)) * 9 ;
        + Val(Substr(cID,3,1)) * 10 ;
        + Val(Substr(cID,4,1)) * 5 ;
        + Val(Substr(cID,5,1)) * 8 ;
        + Val(Substr(cID,6,1)) * 4 ;
        + Val(Substr(cID,7,1)) * 2 ;
        + Val(Substr(cID,8,1)) * 1 ;
        + Val(Substr(cID,9,1)) * 6 ;
        + Val(Substr(cID,10,1)) * 3 ;
        + Val(Substr(cID,11,1)) * 7 ;
        + Val(Substr(cID,12,1)) * 9 ;
        + Val(Substr(cID,13,1)) * 10 ;
        + Val(Substr(cID,14,1)) * 5 ;
        + Val(Substr(cID,15,1)) * 8 ;
        + Val(Substr(cID,16,1)) * 4 ;
        + Val(Substr(cID,17,1)) * 2
    *计算校验位
    check_number=Int((12-nSum % 11)%11)为什么要用12  
    If check_number=10
        check_number='X'
    Endif
搜索更多相关主题的帖子: 身份证 
2014-09-23 15:36
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
直接用nSum % 11也要求出对应的校验值,为何还要Int((12-nSum % 11)%11)不是多此一举?

2014-09-24 09:00
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-9-23 17:18:04的发言:

     Y值: 0 1 2 3 4 5 6 7 8 9 10
  校验码: 1 0 X 9 8 7 6 5 4 3 2
 
Y值+校验码的最大值为12
 
应该是这样理解吧
好象有点道理,但还是迁象,研究不出来所以然。
2014-09-24 15:05
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用吹水佬在2014-9-24 21:27:20的发言:

 
 
研究研究
给定一条算式:
Y = (K-X)%11
X与Y的变动对应关系:
X: 0  1  2  3  4  5  6  7  8  9 10  
Y: 1  0 10  9  8  7  6  5  4  3  2
变换为代数式:
K = 11*商 + Y + X
商=0 时,K=1  或 K=12。K=1时X<=1,不合题意。只能有K=12
商=1 时,K=12 或 K=23
商=2 时,K=23 或 K=34
......
可见:
K有多个选择,最小是12
研究研究
给定一条算式:
Y = (K-X)%11
算式的得来?你是倒套出来的,不足说明成立的理由。
2014-09-25 08:35
快速回复:身份证最后一位的校验位公式中 check_number=Int((12-nSum % 11)%11)为 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030149 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved