27 lines
593 B
Plaintext
27 lines
593 B
Plaintext
OPTION BASE 0
|
|
DIM arabic(12), roman$(12)
|
|
|
|
FOR i = 0 to 12
|
|
READ arabic(i), roman$(i)
|
|
NEXT i
|
|
|
|
DATA 1000, "M", 900, "CM", 500, "D", 400, "CD", 100, "C", 90, "XC"
|
|
DATA 50, "L", 40, "XL", 10, "X", 9, "IX", 5, "V", 4, "IV", 1, "I"
|
|
|
|
FUNCTION toRoman$(value)
|
|
LET result$ = ""
|
|
FOR i = 0 TO 12
|
|
DO WHILE value >= arabic(i)
|
|
LET result$ = result$ & roman$(i)
|
|
LET value = value - arabic(i)
|
|
LOOP
|
|
NEXT i
|
|
LET toRoman$ = result$
|
|
END FUNCTION
|
|
|
|
!Testing
|
|
PRINT "2009 = "; toRoman$(2009)
|
|
PRINT "1666 = "; toRoman$(1666)
|
|
PRINT "3888 = "; toRoman$(3888)
|
|
END
|