18 lines
584 B
Nim
18 lines
584 B
Nim
import strutils
|
|
|
|
const 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")]
|
|
|
|
proc toRoman(x): string =
|
|
var x = x
|
|
result = ""
|
|
for a,r in items(nums):
|
|
result.add(repeatStr(x div a, r))
|
|
x = x mod a
|
|
|
|
for i in [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]:
|
|
echo toRoman(i)
|