0 a
25 z
26 aa
51 az
52 ba
n % i
52 0 0 a
2 2 1 b
0
n % i
51 25 25 z
1 1 0 a
0
// n is 0-based
(n):
if n < 0:
throw
buffer = new
first = true
do:
i = n %26
if !first:
i--
first = false
buffer.append(alphabets[i])
n = n /26
while n > 0
return buffer.reverse().tostring()
This is cleaner.
// n is 0-based
(n):
if n < 0:
throw
buffer = new
while n >= 0:
i = n %26
buffer.append(alphabets[i])
n = n /26 -1
return buffer.reverse().tostring()
[Hat tip to D]
No comments:
Post a Comment