mathematica 发表于 2019-4-19 13:26:29

谁能用mathematica写个校验身份证的子函数?

(*身份证检验码*)
Clear["Global`*"];(*Clear all variables*)
(*没考虑身份证号码最后一位x的情况*)
fun:=Module[{ids,dot},
    jym={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    ids=IntegerDigits;
    dot=Dot],jym];(*前17位与校验码求内积*)
    dot=Mod;(*求余数*)
    dot=Mod;(*余数n,对应的最后一位编码是12-x*)
    If],Return,Return]
]


我写的这个未能考虑最后一位是X的情况,
最后一位是X,应该如何考虑呢?

markfang2050 发表于 2019-4-19 15:13:56

这个容易,嵌套个特例啊

mathematica 发表于 2019-4-26 11:39:56

markfang2050 发表于 2019-4-19 15:13
这个容易,嵌套个特例啊

我自己用perl搞定了

markfang2050 发表于 2019-4-26 22:05:47

mathematica 发表于 2019-4-26 11:39
我自己用perl搞定了

代码贴出啊,。C就可以。
页: [1]
查看完整版本: 谁能用mathematica写个校验身份证的子函数?