32 lines
588 B
Text
32 lines
588 B
Text
var romans = [
|
|
[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"]
|
|
]
|
|
|
|
var encode = Fn.new { |n|
|
|
if (n > 5000 || n < 1) return null
|
|
var res = ""
|
|
for (r in romans) {
|
|
while (n >= r[0]) {
|
|
n = n - r[0]
|
|
res = res + r[1]
|
|
}
|
|
}
|
|
return res
|
|
}
|
|
|
|
System.print(encode.call(1990))
|
|
System.print(encode.call(1666))
|
|
System.print(encode.call(2008))
|
|
System.print(encode.call(2020))
|