{"id":397,"date":"2021-08-31T03:02:00","date_gmt":"2021-08-31T03:02:00","guid":{"rendered":"https:\/\/262235.xyz\/?p=397"},"modified":"2021-08-31T03:02:00","modified_gmt":"2021-08-31T03:02:00","slug":"397","status":"publish","type":"post","link":"https:\/\/lyvba.com\/index.php\/2021\/08\/31\/397\/","title":{"rendered":"\u8eab\u4efd\u8bc1 15\u4f4d\u5347\u7ea718\u4f4d \u548c\u6700\u540e\u4e00\u4f4d\u6821\u9a8c\u4f4d\u8ba1\u7b97"},"content":{"rendered":"<p>\u8eab\u4efd\u8bc1\u6821\u9a8c\u7801\uff08\u6700\u540e\u4e00\u4f4d\uff09\u662f\u6839\u636e\u524d\u9762\u5341\u4e03\u4f4d\u6570\u5b57\u7801\uff0c\u6309\u7167ISO7064:1983.MOD11-2\u6821\u9a8c\u7801\u8ba1\u7b97\u51fa\u6765\u7684\u68c0\u9a8c\u7801\u3002<br \/>\u7b2c\u5341\u516b\u4f4d\u4e3a\u6821\u9a8c\u7801\uff0c\u4e3b\u8981\u662f\u4e3a\u4e86\u6821\u9a8c\u8ba1\u7b97\u673a\u8f93\u5165\u516c\u6c11\u8eab\u4efd\u8bc1\u53f7\u7801\u7684\u524d17\u4f4d\u6570\u5b57\u662f\u5426\u6b63\u786e\uff0c\u5176\u53d6\u503c\u8303\u56f4\u662f0\u81f310\uff0c\u5f53\u503c\u7b49\u4e8e10\u65f6\uff0c\u7528\u7f57\u9a6c\u6570\u5b57\u7b26X\u8868\u793a\u3002<\/p>\n<h3>python \u5b66\u4e60\u6d4b\u8bd5\u7248\u672c<\/h3>\n<pre><code># \u8eab\u4efd\u8bc1 \u6700\u540e\u4e00\u4f4d\u6821\u9a8c\u4f4d\nsigma = 0\na = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]\nw = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']\n\ncnid = '34052419800101001X'\n\nfor i in range(17):\n    n = ord(cnid[i]) - ord('0')\n    print(n,  end=' ')\n    sigma += n * a[i]\n\nx = sigma % 11\nprint('\n\u6821\u9a8c\u548c |  \u4f59\u6570 | \u67e5\u8868\u6821\u9a8c\u5b57\u7b26---&gt;', sigma , 'mod 11 =' , x,  w[x])\n#  \u6821\u9a8c\u548c |  \u4f59\u6570 | \u67e5\u8868\u6821\u9a8c\u5b57\u7b26---&gt; 189 mod 11 = 2 X<\/code><\/pre>\n<h3>\u8ba1\u7b97\u65b9\u6cd5<\/h3>\n<p>1\u3001\u5c06\u524d\u9762\u7684\u8eab\u4efd\u8bc1\u53f7\u780117\u4f4d\u6570\u5206\u522b\u4e58\u4ee5\u4e0d\u540c\u7684\u7cfb\u6570\u3002\u4ece\u7b2c\u4e00\u4f4d\u5230\u7b2c\u5341\u4e03\u4f4d\u7684\u7cfb\u6570\u5206\u522b\u4e3a\uff1a7\uff0d9\uff0d10\uff0d5\uff0d8\uff0d4\uff0d2\uff0d1\uff0d6\uff0d3\uff0d7\uff0d9\uff0d10\uff0d5\uff0d8\uff0d4\uff0d2\u3002<br \/>2\u3001\u5c06\u8fd917\u4f4d\u6570\u5b57\u548c\u7cfb\u6570\u76f8\u4e58\u7684\u7ed3\u679c\u76f8\u52a0\u3002<br \/>3\u3001\u7528\u52a0\u51fa\u6765\u548c\u9664\u4ee511\uff0c\u770b\u4f59\u6570\u662f\u591a\u5c11\uff1f<br \/>4\u3001\u4f59\u6570\u53ea\u53ef\u80fd\u67090\uff0d1\uff0d2\uff0d3\uff0d4\uff0d5\uff0d6\uff0d7\uff0d8\uff0d9\uff0d10\u8fd911\u4e2a\u6570\u5b57\u3002\u5176\u5206\u522b\u5bf9\u5e94\u7684\u6700\u540e\u4e00\u4f4d\u8eab\u4efd\u8bc1\u7684\u53f7\u7801\u4e3a1\uff0d0\uff0dX \uff0d9\uff0d8\uff0d7\uff0d6\uff0d5\uff0d4\uff0d3\uff0d2\u3002\uff08\u5373\u4f59\u65700\u5bf9\u5e941\uff0c\u4f59\u65701\u5bf9\u5e940\uff0c\u4f59\u65702\u5bf9\u5e94X...\uff09<br \/>5\u3001\u901a\u8fc7\u4e0a\u9762\u5f97\u77e5\u5982\u679c\u4f59\u6570\u662f3\uff0c\u5c31\u4f1a\u5728\u8eab\u4efd\u8bc1\u7684\u7b2c18\u4f4d\u6570\u5b57\u4e0a\u51fa\u73b0\u7684\u662f9\u3002\u5982\u679c\u5bf9\u5e94\u7684\u6570\u5b57\u662f2\uff0c\u8eab\u4efd\u8bc1\u7684\u6700\u540e\u4e00\u4f4d\u53f7\u7801\u5c31\u662f\u7f57\u9a6c\u6570\u5b57X\u3002<\/p>\n<h3>C++ \u7248\u672c<\/h3>\n<pre><code>#include &lt;iostream&gt;\n#include &lt;string.h&gt;\nusing namespace std;\n\nchar cnid18crc(const char *id18);  \/\/ \u8eab\u4efd\u8bc1 \u6700\u540e\u4e00\u4f4d\u6821\u9a8c\u4f4d\nvoid cnid_15to18(char *id18 , const char *id15);   \/\/ \u8eab\u4efd\u8bc1 15\u4f4d\u5347\u7ea718\u4f4d\n\nint main()\n{\n    char cnid15[19] = \"340524800101001\";\n    char cnid18[19] ;\n    cnid_15to18(cnid18, cnid15);\n\n    cout &lt;&lt; cnid15 &lt;&lt; endl;\n    cout &lt;&lt; cnid18 &lt;&lt; endl;\n    return 0;\n}\n\n\/\/ \u8eab\u4efd\u8bc1 \u6700\u540e\u4e00\u4f4d\u6821\u9a8c\u4f4d\nchar cnid18crc(const char *id18)\n{\n    int sigma = 0;\n    int a[]  = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};\n    char w[] = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};\n\n    for (int i = 0; i &lt; 17; i++) {\n        int ai =  id18[i] - '0';\n        int wi = a[i];\n        cout &lt;&lt; ai &lt;&lt;  \" * \" &lt;&lt; wi &lt;&lt; \"    = \" &lt;&lt; (ai * wi) &lt;&lt; endl;\n        sigma += (ai * wi);\n    }\n    int number = sigma % 11;\n    cout &lt;&lt; w[number] &lt;&lt; \" ----&gt;     \" &lt;&lt; sigma &lt;&lt; \" mod 11 = \" &lt;&lt; number &lt;&lt; endl ;\n\n    return w[number];\n}\n\n\/\/ \u8eab\u4efd\u8bc1 15\u4f4d\u5347\u7ea718\u4f4d\nvoid cnid_15to18(char *id18 , const char *id15)\n{\n    char *ps = id18 + 2;\n    strcpy(ps , id15);\n    strncpy(id18 , id15 , 6);\n    id18[6] = '1';\n    id18[7] = '9';\n    id18[17] = 'C';\n    id18[18] = '\u0000';\n\n    id18[17] = cnid18crc(id18);\n\n}<\/code><\/pre>\n<pre><code>3 * 7   = 21\n4 * 9   = 36\n0 * 10  = 0\n5 * 5   = 25\n2 * 8   = 16\n4 * 4   = 16\n1 * 2   = 2\n9 * 1   = 9\n8 * 6   = 48\n0 * 3   = 0\n0 * 7   = 0\n1 * 9   = 9\n0 * 10  = 0\n1 * 5   = 5\n0 * 8   = 0\n0 * 4   = 0\n1 * 2   = 2\nX ----&gt;  189 mod 11 = 2\n340524800101001\n34052419800101001X\n\/\/ \u8fd0\u884c\u7ed3\u679c,\u52a0\u6743\u56e0\u5b50,\u6821\u9a8c\u7801\u8868\nint a[]  = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};\nchar w[] = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/lyvba.com\/wp-content\/uploads\/2021\/08\/4071409567.png\" alt=\"MOD11-2.png\" title=\"MOD11-2.png\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8eab\u4efd\u8bc1\u6821\u9a8c\u7801\uff08\u6700\u540e\u4e00\u4f4d\uff09\u662f\u6839\u636e\u524d\u9762\u5341\u4e03\u4f4d\u6570\u5b57\u7801\uff0c\u6309\u7167ISO7064:1983.MOD11-2\u6821\u9a8c\u7801\u8ba1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,3],"tags":[31],"class_list":["post-397","post","type-post","status-publish","format-standard","hentry","category-learn","category-default","tag-cpp"],"_links":{"self":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts\/397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/comments?post=397"}],"version-history":[{"count":0,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts\/397\/revisions"}],"wp:attachment":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/media?parent=397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/categories?post=397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/tags?post=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}