mcmlcv = 1955
rtoi:
int rtoi(s):
if s == null:
throw
n = 0
maxvalue = 0
for r in s.reverse():
value = rtoimap[r]
if value >= maxvalue:
maxvalue = value
n += value
else:
n -= value
return n
rtoimap =
i 1
v 5
x 10
l 50
c 100
d 500
m 1000
[Hat tip to B]itor:
string itor(n):
if n < 0:
throw
buffer = new
while n >= 1000:
buffer.append("m")
n -= 1000
// below 1000
n100 = (n /100) *100
buffer.append(itormap[n100])
n -= n100
// below 100
n10 = (n /10) *10
buffer.append(itormap[n10])
n -= n10
// below 10
n1 = n
buffer.append(itormap[n1])
n -= n1
// n is 0
return buffer.tostring()
itormap =
0 "" //empty
1 i
2 ii
3 iii
...
9
10 x
20 xx
...
90 xc
100 c
200 cc
...
900 cm
No comments:
Post a Comment