Task

Create a function taking a positive integer as its parameter and returning a string containing the Roman numeral representation of that integer. Modern Roman numerals are written by expressing each digit separately, starting with the left most digit and skipping any digit with a value of zero.



In Roman numerals:

 1990 is rendered: 1000=M, 900=CM, 90=XC; resulting in MCMXC
 2008 is written as 2000=MM, 8=VIII; or MMVIII
 1666 uses each Roman symbol in descending order: MDCLXVI


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]