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


examples := [2008, 1666, 1990];
 
for example in examples loop
    print( roman_numeral(example) );
end loop;
 
proc roman_numeral( n );
    R := [[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']];
    roman := '';
    for numeral in R loop
        while n >= numeral(1) loop
            n := n - numeral(1);
            roman := roman + numeral(2);
        end loop;
    end loop;
    return roman;
end;