本帖最后由 老刘1号 于 2017-4-10 22:37 编辑
存批,暴力解法- '&@(cls&cscript -e:vbscript -nologo "%~0"&pause&exit)
-
- Dim ID_Card(5)
- ID_Card(1) = "1509231988042396?9"
- ID_Card(2) = "3700001989091894?0"
- ID_Card(3) = "4313021981042877?1"
- ID_Card(4) = "5301021920050801?X"
- ID_Card(5) = "6110251990062874?0"
-
- Dim NUMBER_Multiplie(17)
- NUMBER_Multiplie(1) = 7
- NUMBER_Multiplie(2) = 9
- NUMBER_Multiplie(3) =10
- NUMBER_Multiplie(4) = 5
- NUMBER_Multiplie(5) = 8
- NUMBER_Multiplie(6) = 4
- NUMBER_Multiplie(7) = 2
- NUMBER_Multiplie(8) = 1
- NUMBER_Multiplie(9) = 6
- NUMBER_Multiplie(10)= 3
- NUMBER_Multiplie(11)= 7
- NUMBER_Multiplie(12)= 9
- NUMBER_Multiplie(13)=10
- NUMBER_Multiplie(14)= 5
- NUMBER_Multiplie(15)= 8
- NUMBER_Multiplie(16)= 4
- NUMBER_Multiplie(17)= 2
-
- Dim Check_Code(10)
- Check_Code(0) = 1
- Check_Code(1) = 0
- Check_Code(2) ="X"
- Check_Code(3) = 9
- Check_Code(4) = 8
- Check_Code(5) = 7
- Check_Code(6) = 6
- Check_Code(7) = 5
- Check_Code(8) = 4
- Check_Code(9) = 3
- Check_Code(10)= 2
-
- Rem 代码开始:
- For NO = 1 To 5
- Result = Empty
- Calculate = 0
- For Multiplie = 1 To 16
- Calculate = Calculate + Mid(ID_Card(NO),Multiplie,1) * NUMBER_Multiplie(Multiplie)
- Next
- For Test = 0 To 10
- If CStr(Check_Code((Calculate + Test * NUMBER_Multiplie(17)) Mod 11)) = Mid(ID_Card(NO),18,1) Then Result = Test
- Next
- Result=Left(ID_Card(NO),16)&Result&Right(ID_Card(NO),1)
- WScript.Echo ID_Card(NO) & " -- > " & Result
- next
-
复制代码
|