RosettaCodeData/Task/Roman-numerals-Encode/Wren/roman-numerals-encode.wren
2023-07-01 13:44:08 -04:00

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))