You are on page 1of 2

function convertToRoman(num) {

let res = ""


const d = num.toString().length;
var digits = (""+num).split("")
function primalConver(a) {
switch (a) {
case 1:
case 2:
case 3:
return "I".repeat(a);
case 4 :
return"IV";
case 5 :
return "V";
case 6:
case 7:
case 8:
return "V"+("I".repeat(a-5));
case 9 :
return "IX";
}};
function secondConver(b){
switch (b){
case 1:
case 2:
case 3:
return "X".repeat(b);
case 4:
return "XL";
case 5:
return "L";
case 6:
case 7:
case 8:
return "L"+("X".repeat(b-5));
case 9:
return "XC";
}};
function thirdConver(c){
switch(c){
case 1:
case 2:
case 3:
return "C".repeat(c);
case 4:
return "CD";
case 5:
return "D";
case 6:
case 7:
case 8:
return "D"+("C".repeat(c-5));
case 9:
return "CM";
}};
function lastConver(d){switch(d){
case 1:
case 2:
case 3:
return "M".repeat(d);
}};
if (d==1){
res=primalConver(num);
} else if (d==2) { let a1 = ""; let b1= "";
for (let i=digits.length-1;i>=0;i--) {
if (i==digits.length-1){
if (digits[i]==0){
} else {
a1=primalConver(parseInt(digits[i]));}
}else {
b1=secondConver(parseInt(digits[i]));
}res = b1 + a1;}
}else if (d==3) {let a2 = ""; let b2= ""; let c2="";
for (let i=digits.length-1;i>=0;i--) {
if (i==digits.length-1){
if (digits[i]==0){}else{
a2=primalConver(parseInt(digits[i]));}
}else if (i==digits.length-2) {
if (digits[i]==0){} else{
b2=secondConver(parseInt(digits[i]));}
} else {
c2=thirdConver(parseInt(digits[i]));
}
res = c2 + b2 + a2}
} else if (d==4){let a3 = ""; let b3= "";
let c3="";let d3 ="";
for (let i=digits.length-1;i>=0;i--) {
if (i==digits.length-1){
if (digits[i]==0){}else{
a3=primalConver(parseInt(digits[i]));}
}else if (i==digits.length-2) {
if (digits[i]==0){} else{
b3=secondConver(parseInt(digits[i]));}
} else if (i==digits.length-3) {
if (digits[i]==0){} else{
c3=thirdConver(parseInt(digits[i]))}
}else { d3=lastConver(parseInt(digits[i]))}
res = d3 +c3 + b3 + a3}}
return res;}

convertToRoman(649);

You might also like