- 按键认证大神
- 2699998
- 3587
- 11
- 2173 朵
- 7386 个
- 1021 个
- 91120
- 2014-08-23
|
1#
t
T
发表于 2022-10-13 22:36
|
|只看楼主
题目描述 现在有数字6969 和9116 。当您旋转它们 180°(倒置)时,这些数字保持不变。澄清一下,如果我们将它们写在纸上并将纸倒置,数字将是相同的。试试看!某些数字,例如2 或5 在旋转时不产生数字。
给定一个范围,返回该范围内倒置数字的计数。例如solve(0,10) = 3 ,因为在范围>= 0 and < 10只有3 个颠倒的数字。他们是0, 1, 8 。
题目难度:一般 题目来源:Upside down numbers | Codewars 题目交流: 584781753
|
- Import "SmAssert.dll"
- Function 可以倒立的数字(起始数字, 结束数字)
- // 您的代码写在这里
- End Function
- SmAssert 可以倒立的数字(0, 10) = 3
- SmAssert 可以倒立的数字(10, 100) = 4
- SmAssert 可以倒立的数字(100, 1000) = 12
- SmAssert 可以倒立的数字(1000, 10000) = 20
- SmAssert 可以倒立的数字(10000, 15000) = 6
- SmAssert 可以倒立的数字(15000, 20000) = 9
- SmAssert 可以倒立的数字(60000, 70000) = 15
- SmAssert 可以倒立的数字(60000, 130000) = 55
复制代码 参考题解- Import "SmAssert.dll"
- Function 可以倒立的数字(起始数字, 结束数字)
-
- '【作者】:神梦无痕
- '【QQ】:1042207232
- '【Q群】:584781753
-
- Dim num, num_i, i, m, count
-
- For num = 起始数字 To 结束数字
- num = CStr(num)
- num_i = ""
- For i = 1 To Len(num)
- m = Mid(num, i, 1)
- Select Case m
- Case "0", "1", "8"
- m = m
- Case "6"
- m = "9"
- Case "9"
- m = "6"
- Case Else
- m = ""
- End Select
- num_i = num_i & m
- Next
- If num_i = StrReverse(num) Then
- count = count + 1
- End If
- Next
- 可以倒立的数字 = count
- End Function
- SmAssert 可以倒立的数字(0, 10) = 3
- SmAssert 可以倒立的数字(10, 100) = 4
- SmAssert 可以倒立的数字(100, 1000) = 12
- SmAssert 可以倒立的数字(1000, 10000) = 20
- SmAssert 可以倒立的数字(10000, 15000) = 6
- SmAssert 可以倒立的数字(15000, 20000) = 9
- SmAssert 可以倒立的数字(60000, 70000) = 15
- SmAssert 可以倒立的数字(60000, 130000) = 55
复制代码 插件下载【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误
|