// Переводит арабские числа в римские
var num = prompt("Введите число", 19); // default - 19
if(num) alert(ArabicToRoman(num));
function ArabicToRoman() {
// массив соответствий римских и арабских чисел
var alph = [["I",1], ["IV",4], ["V",5], ["IX",9], ["X",10], ["XL",40], ["L",50], ["XC",90], ["C",100], ["CD",400], ["D",500], ["CM",900], ["M",1000]];
// j - счетчик эл. массива
// i - число (арабское), кот. требуется перевести
// n - возвращаемое римское число
// По элементам массива -> от большего к меньшему
for(var j = alph.length - 1, i = arguments[0], n = ""; j != -1; j--) {
/* строку ниже можно записать следующим образом
if(~~(i / alph[j][1]) > 0) { // целочисленное деление и сравнение с 0
n += alph[j][0]; // собираем римское число
i -= alph[j][1]; // корректируем арабское число на то, кот. определили
j++; // проверяем пару (эл. массива) еще раз
} */
if(~~(i / alph[j][1]) > 0) { n += alph[j][0]; i -= alph[j][1]; j++; }
}
// возвращаем римское число
return n;
}