zoukankan      html  css  js  c++  java
  • 18位身份证号码结构的系数算法

    看了园子里一个随笔

    http://www.cnblogs.com/10158wsj/p/7050736.html

    • 身份证17位数分别乘以不同的系数。从第1位到第17位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2.
    • 将这17位数字和系数相乘的结果相加
    • 将step3的结果除以11,得出余数
    • 由于数字的特殊性,这些余数只可能是0-10这11个数字,身份证最后一位的对应数字为1-0-X-9-8-7-6-5-4-3-2.。

    系数怎么来的呢?

    2^7%11-2^6%11-2^5%11 ......

    2的7654321098754321次方%11得到

    从最后一位向前,

                int m = 0;
                for (int i = 16;i>-1;i--)
                {
                    m += (sfz[i] - '0') * ((int)Math.Pow(2,(17-i)) % 11);
    
                }
                Console.WriteLine(m.ToString() + "," +(12 - m%11).ToString());
  • 相关阅读:
    Docker Get Started VI
    Docker Get Started V
    Docker Get Started III
    Docker Get Started IV
    Docker Get Started II
    Docker Get Started I
    贝叶斯公式
    LRU缓存
    二进制中1的个数
    2.准备工作之Gradle
  • 原文地址:https://www.cnblogs.com/zhiming99/p/7053391.html
Copyright © 2011-2022 走看看