Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function convertToRoman(num) {
- // key
- var numForKey = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000];
- var lettersForKey = ['I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M'];
- var splitNum = (num).toString(10).split("").map(Number);
- console.log(splitNum);
- var multipliedNums = [];
- if (splitNum.length == 4) {
- multipliedNums.push(splitNum[0] * 1000);
- multipliedNums.push(splitNum[1] * 100);
- multipliedNums.push(splitNum[2] * 10);
- multipliedNums.push(splitNum[3]);
- } else if (splitNum.length == 3) {
- multipliedNums.push(splitNum[0] * 100);
- multipliedNums.push(splitNum[1] * 10);
- multipliedNums.push(splitNum[2]);
- } else if (splitNum.length == 2) {
- multipliedNums.push(splitNum[0] * 10);
- multipliedNums.push(splitNum[1]);
- } else {
- multipliedNums.push(splitNum[0]);
- }
- console.log(multipliedNums);
- var convertedNums = [];
- for (var i = 0; i < multipliedNums.length; i++) {
- var remainHolder = 0;
- for (var n = 0; n < numForKey.length; n++) {
- if (multipliedNums[i] == numForKey[n]) {
- convertedNums.push(lettersForKey[n]);
- } else if (multipliedNums[i] == numForKey[n] * 2) {
- convertedNums.push(lettersForKey[n]);
- convertedNums.push(lettersForKey[n]);
- } else if (multipliedNums[i] == numForKey[n] * 3) {
- convertedNums.push(lettersForKey[n]);
- convertedNums.push(lettersForKey[n]);
- convertedNums.push(lettersForKey[n]);
- }
- }
- for (var z = numForKey.length; z != 0; z--) {
- if (multipliedNums[i] < numForKey[z]) {
- convertedNums.push(lettersForKey[z]);
- remainHolder = numForKey[z] % multipliedNums[i];
- for (var x = 0; x < numForKey.length; x++) {
- if (remainHolder == numForKey[x]) {
- convertedNums.push(lettersForKey[x]);
- } else if (remainHolder == numForKey[x] * 2) {
- convertedNums.push(lettersForKey[x]);
- convertedNums.push(lettersForKey[x]);
- } else if (remainHolder == numForKey[x] * 3) {
- convertedNums.push(lettersForKey[x]);
- convertedNums.push(lettersForKey[x]);
- convertedNums.push(lettersForKey[x]);
- }
- break;
- }
- }
- }
- }
- console.log(convertedNums);
- num = convertedNums.join("");
- console.log(num);
- return num;
- }
- convertToRoman(99);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement