28,391
社区成员
发帖
与我相关
我的任务
分享
<%
Response.Write cvt(78)
Response.Write decvt("AAZ")
Function cvt(n)
Dim i, s, m , k
m = n Mod 26
k = n \ 26
If m = 0 Then
m = 26
k = k - 1
End If
s = ""
For i = 1 To k
s = s & "A"
Next
cvt = s & getAlpha(m)
End Function
Function decvt(s)
Dim c, n, i, ln
ln = Len(s)
c = Mid(s, ln,1)
decvt = 26 * (ln-1) + getNum(c)
End Function
Function getNum(c)
Dim asc_a
asc_a = Asc("A")
getNum = Asc(c) - asc_a + 1
End Function
Function getAlpha(n)
Dim asc_a
asc_a = Asc("A")
getAlpha = Chr(n + asc_a -1)
End Function
%>
Response.Write cvt(1)
Response.Write decvt("Z")
Function cvt(n)
Dim s
s = ""
doit n, s
cvt = s
End Function
Function decvt(s)
Dim i, n, r, c, t, ln
r = 26
t = 0
ln = Len(s)
For i = 1 To ln
c = Mid(s, i, 1)
t = t + getNum(c) * (r^(ln-i))
Next
decvt = t
End Function
Function getNum(c)
Dim asc_a
asc_a = Asc("A")
getNum = Asc(c) - asc_a
End Function
Function getAlpha(n)
Dim asc_a
asc_a = Asc("A")
getAlpha = Chr(n + asc_a)
End Function
Sub doit(n, ByRef s)
Dim f, m, r
r = 26
m = n Mod r
s = getAlpha(m) & s
f = n \ r
If f > 0 Then doit f, s
End Sub