Roman Numerals
by Luis Valle
JavaScript
function convert(num) {
function getRom (tN) {
if (tN == 1) {
return 'I';
}
if (tN == 2) {
return 'II';
}
if (tN == 3) {
return 'III';
}
if (tN == 4) {
return 'IV';
}
if (tN == 5) {
return 'V';
}
if (tN == 6) {
return 'VI';
}
if (tN == 7) {
return 'VII';
}
if (tN == 8) {
return 'VIII';
}
if (tN == 9) {
return 'IX';
}
if (tN == 10) {
return 'X';
}
if (tN == 20) {
return 'XX';
}
if (tN == 30) {
return 'XXX';
}
if (tN == 40) {
return 'XL';
}
if (tN == 50) {
return 'L';
}
if (tN == 60) {
return 'LX';
}
if (tN == 70) {
return 'LXX';
}
if (tN == 80) {
return 'LXXX';
}
if (tN == 90) {
return 'XC';
}
if (tN == 100) {
return 'C';
}
if (tN == 200) {
return 'CC';
}
if (tN == 300) {
return 'CCC';
}
if (tN == 400) {
return 'CD';
}
if (tN == 500) {
return 'D';
}
if (tN == 600) {
return 'DC';
}
if (tN == 700) {
return 'DCC';
}
if (tN == 800) {
return 'DCCC';
}
if (tN == 900) {
return 'CM';
}
if (tN > 999) {
var xWrr = tN.toString().charAt(0);
var finxxxM = '';
for (var i=0; i < parseInt(xWrr); i++) {
finxxxM = finxxxM + 'M';
}
return finxxxM;
}
return '';
}
var xxNumb = num.toString();
var finRom = '';
var numArr = num.toString().split('');
num = num.toString().split('');
numArr.pop();
for (var i=0; i < numArr.length; i++) {
numArr[i] = '0';
}
var xFinChr = '';
if (num.length == 1) {
xFinChr = getRom(parseInt(num[0]));
} else {
for (var i=0; i < num.length; i++) {
var myZeros = numArr.join('');
var orgNum = num[i].toString() + (myZeros ? myZeros : '');
if (orgNum.length ==...