Advertisement
Todorov_Stanimir

toRome

Jun 15th, 2020
1,097
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const myRome = {
  2.   0: '',
  3.   1: 'I',
  4.   2: 'II',
  5.   3: 'III',
  6.   4: 'IV',
  7.   5: 'V',
  8.   6: 'VI',
  9.   7: 'VII',
  10.   8: 'VIII',
  11.   9: "IX",
  12.   10: 'X',
  13.   20: 'XX',
  14.   30: 'XXX',
  15.   40: 'XL',
  16.   50: 'L',
  17.   60: 'LX',
  18.   70: 'LXX',
  19.   80: 'LXXX',
  20.   90: 'XC',
  21.   100: 'C',
  22.   200: 'CC',
  23.   300: 'CCC',
  24.   400: 'CD',
  25.   500: 'D',
  26.   600: 'DC',
  27.   700: 'DCC',
  28.   800: 'DCCC',
  29.   900: 'CM',
  30.   1000: 'M',
  31. }
  32.  
  33. const toRoman = (number) => {
  34.   if (number > 3999) { return `Please write number less then 4000` }
  35.  
  36.   const array = '0'.repeat(4 - String(number).length).concat(String(number)).split('').map(Number);
  37.  
  38.   const [hilyadni, stotici, desetici, edinici] = [...array];
  39.  
  40.   return myRome[1000].repeat(hilyadni).concat(myRome[100 * stotici]).concat(myRome[10 * desetici]).concat(myRome[edinici])
  41. }
  42.  
  43.  
  44.  
  45.  
  46.  
  47. console.log(toRoman(1000));
  48. console.log(toRoman(999));
  49. console.log(toRoman(4));
  50. console.log(toRoman(1));
  51. console.log(toRoman(1991));
  52. console.log(toRoman(2006));
  53. console.log(toRoman(2020));
  54.  
  55. console.log(toRoman(21));
  56. console.log(toRoman(1));
  57. console.log(toRoman(3));
  58. console.log(toRoman(4));
  59. console.log(toRoman(2007));
  60. console.log(toRoman(1669));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement