- 按键认证大神
- 2699998
- 3587
- 11
- 2173 朵
- 7386 个
- 1021 个
- 91120
- 2014-08-23
|
1#
t
T
发表于 2022-10-12 23:02
|
|只看楼主
题目描述 ISBN-10标识符的长度为十位数。前九个字符是数字0-9。最后一个数字可以是0-9或X,表示值为10。 如果数字之和乘以其位置模11等于零,则ISBN-10数字有效。
【示例】 ISBN : 1 1 1 2 2 2 3 3 3 9 position : 1 2 3 4 5 6 7 8 9 10 它是一个合法的 ISBN-10: (1*1 + 1*2 + 1*3 + 2*4 + 2*5 + 2*6 + 3*7 + 3*8 + 3*9 + 9*10) % 11 = 0
题目难度:简单 题目来源:ISBN-10 Validation | Codewars 题目交流: 584781753
|
- Import "SmAssert.dll"
- Function ISBN10校验(标识符)
- // 您的代码写在这里
- End Function
- SmAssert ISBN10校验("1112223339") = True
- SmAssert ISBN10校验("048665088X") = True
- SmAssert ISBN10校验("1293000000") = True
- SmAssert ISBN10校验("1234554321") = True
- SmAssert ISBN10校验("1234512345") = False
- SmAssert ISBN10校验("1293") = False
- SmAssert ISBN10校验("X123456788") = False
- SmAssert ISBN10校验("ABCDEFGHIJ") = False
- SmAssert ISBN10校验("XXXXXXXXXX") = False
- SmAssert ISBN10校验("123456789T") = False
- SmAssert ISBN10校验("048665088XX") = False
复制代码 参考题解- Import "SmAssert.dll"
- Function ISBN10校验(标识符)
- '【作者】:神梦无痕
- '【QQ】:1042207232
- '【Q群】:584781753
- Dim length, result, i, m, sum
-
- result = False
- length = Len(标识符)
- // 判断长度是否为10位
- If length = 10 Then
- // 判断前九位是否为纯数字
- If IsNumeric(Left(标识符, 9)) Then
- sum = 0
- For i = 1 To 10
- m = Mid(标识符, i, 1)
- If IsNumeric(m) Then
- m = Int(m)
- ElseIf UCase(m) = "X" Then
- m = 10
- Else
- // 其他字母的不符合
- Goto over
- End If
- sum = sum + m * i
- Next
- // 如果数字之和乘以其位置模11等于零,则符合
- If sum Mod 11 = 0 Then
- result = True
- End If
- End If
- End If
- Rem over
- ISBN10校验 = result
- End Function
- SmAssert ISBN10校验("1112223339") = True
- SmAssert ISBN10校验("048665088X") = True
- SmAssert ISBN10校验("1293000000") = True
- SmAssert ISBN10校验("1234554321") = True
- SmAssert ISBN10校验("1234512345") = False
- SmAssert ISBN10校验("1293") = False
- SmAssert ISBN10校验("X123456788") = False
- SmAssert ISBN10校验("ABCDEFGHIJ") = False
- SmAssert ISBN10校验("XXXXXXXXXX") = False
- SmAssert ISBN10校验("123456789T") = False
- SmAssert ISBN10校验("048665088XX") = False
复制代码 插件下载【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误
|