27 lines
639 B
Text
27 lines
639 B
Text
nums: [[1000 "M"] [900 "CM"] [500 "D"] [400 "CD"] [100 "C"] [90 "XC"]
|
|
[50 "L"] [40 "XL"] [10 "X"] [9 "IX"] [5 "V"] [4 "IV"] [1 "I"])
|
|
|
|
toRoman: function [x][
|
|
ret: ""
|
|
idx: 0
|
|
initial: x
|
|
loop nums 'num [
|
|
d: num\0
|
|
l: num\1
|
|
|
|
i: 0
|
|
while [i<initial/d] [
|
|
ret: ret ++ l
|
|
i: i+1
|
|
]
|
|
|
|
initial: mod initial d
|
|
]
|
|
return ret
|
|
]
|
|
|
|
loop [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 30 40
|
|
50 60 69 70 80 90 99 100 200 300 400 500 600 666 700 800 900
|
|
1000 1009 1444 1666 1945 1997 1999 2000 2008 2010 2011 2500
|
|
3000 3999] 'n
|
|
-> print [n "->" toRoman n]
|