|
本帖最后由 roych 于 2015-9-25 10:29 编辑
不错不错。不过还可以优化下语句【调用:call test(787)】:
- Function test(ByVal lngResult As Long) As Long
- Dim i As Long
- 'lngResult=调换后的结果
- '一下是计算简化过程:
- '假定a,b,c分别为百位、十位、个位,个位数跟百位数对调后则:
- '
- '(a*100+10*b+c)+(c*100+10*b+a) ——————————→ 101*(a+c)+20*b
- '(lngResult\101) ——————————→ a+c
- '(lngResult Mod 101)/20 ——————————→ b
- '令a=i,则:
- '
- '100*a ——————————→ 100*i
- '10*b ——————————→ (lngResult Mod 101)/2
- 'c ——————————→ (lngResult \ 101)-i
- For i = 1 To (lngResult \ 101)
- If (lngResult \ 101 - 2 * i) = 3 Then
- test = 100 * i + (lngResult Mod 101) / 2 + (lngResult \ 101 - i)
- End If
- Next
- End Function
复制代码 |
|