Guest User

Untitled

a guest
May 16th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width">
  6. <title>Roman Numerals Encoder</title>
  7. </head>
  8. <body>
  9. Create a function taking a positive integer as its parameter and returning a string containing the Roman Numeral representation of that integer.
  10. <br/>
  11. Modern Roman numerals are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. In Roman numerals 1990 is rendered: 1000=M, 900=CM, 90=XC; resulting in MCMXC. 2008 is written as 2000=MM, 8=VIII; or MMVIII. 1666 uses each Roman symbol in descending order: MDCLXVI.
  12. <br/>
  13. Example:
  14. <br/>
  15. solution(1000); // should return 'M'
  16. Help:
  17. <br/>
  18. Symbol Value
  19. I 1<br/>
  20. V 5<br/>
  21. X 10<br/>
  22. L 50<br/>
  23. C 100<br/>
  24. D 500<br/>
  25. M 1,000<br/>
  26. Remember that there can't be more than 3 identical symbols in a row.
  27. <script id="jsbin-javascript">
  28. function solution(number){
  29. if (!+number)
  30. return NaN;
  31. var digits = String(+number).split(""),
  32. key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
  33. "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
  34. "","I","II","III","IV","V","VI","VII","VIII","IX"],
  35. roman = "",
  36. i = 3;
  37. while (i--)
  38. roman = (key[+digits.pop() + (i * 10)] || "") + roman;
  39. console.log( Array(+digits.join("") + 1).join("M") + roman);
  40.  
  41. return Array(+digits.join("") + 1).join("M") + roman;
  42. }
  43. </script>
  44.  
  45.  
  46.  
  47. <script id="jsbin-source-javascript" type="text/javascript">function solution(number){
  48. if (!+number)
  49. return NaN;
  50. var digits = String(+number).split(""),
  51. key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
  52. "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
  53. "","I","II","III","IV","V","VI","VII","VIII","IX"],
  54. roman = "",
  55. i = 3;
  56. while (i--)
  57. roman = (key[+digits.pop() + (i * 10)] || "") + roman;
  58. console.log( Array(+digits.join("") + 1).join("M") + roman);
  59.  
  60. return Array(+digits.join("") + 1).join("M") + roman;
  61. }
  62. </script></body>
  63. </html>
Add Comment
Please, Sign In to add comment