32 lines
770 B
Plaintext
32 lines
770 B
Plaintext
roman$ = "M, CM, D, CD, C, XC, L, XL, X, IX, V, IV, I"
|
|
decml$ = "1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1"
|
|
|
|
sub toRoman$(value)
|
|
local res$, i, roman$(1), decml$(1), long
|
|
|
|
long = token(roman$, roman$(), ", ")
|
|
long = token(decml$, decml$(), ", ")
|
|
|
|
for i=1 to long
|
|
while(value >= val(decml$(i)))
|
|
res$ = res$ + roman$(i)
|
|
value = value - val(decml$(i))
|
|
wend
|
|
next i
|
|
return res$
|
|
end sub
|
|
|
|
print 400, " ", toRoman$(400)
|
|
print 1990, " ", toRoman$(1990)
|
|
print 2008, " ", toRoman$(2008)
|
|
print 2009, " ", toRoman$(2009)
|
|
print 1666, " ", toRoman$(1666)
|
|
print 3888, " ", toRoman$(3888)
|
|
//Output:
|
|
// 400 = CD
|
|
// 1990 = MCMXC
|
|
// 2008 = MMVIII
|
|
// 2009 = MMIX
|
|
// 1666 = MDCLXVI
|
|
// 3888 = MMMDCCCLXXXVIII
|