Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>Roman Numerals Encoder</title>
- </head>
- <body>
- Create a function taking a positive integer as its parameter and returning a string containing the Roman Numeral representation of that integer.
- <br/>
- 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.
- <br/>
- Example:
- <br/>
- solution(1000); // should return 'M'
- Help:
- <br/>
- Symbol Value
- I 1<br/>
- V 5<br/>
- X 10<br/>
- L 50<br/>
- C 100<br/>
- D 500<br/>
- M 1,000<br/>
- Remember that there can't be more than 3 identical symbols in a row.
- <script id="jsbin-javascript">
- function solution(number){
- if (!+number)
- return NaN;
- var digits = String(+number).split(""),
- key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
- "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
- "","I","II","III","IV","V","VI","VII","VIII","IX"],
- roman = "",
- i = 3;
- while (i--)
- roman = (key[+digits.pop() + (i * 10)] || "") + roman;
- console.log( Array(+digits.join("") + 1).join("M") + roman);
- return Array(+digits.join("") + 1).join("M") + roman;
- }
- </script>
- <script id="jsbin-source-javascript" type="text/javascript">function solution(number){
- if (!+number)
- return NaN;
- var digits = String(+number).split(""),
- key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
- "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
- "","I","II","III","IV","V","VI","VII","VIII","IX"],
- roman = "",
- i = 3;
- while (i--)
- roman = (key[+digits.pop() + (i * 10)] || "") + roman;
- console.log( Array(+digits.join("") + 1).join("M") + roman);
- return Array(+digits.join("") + 1).join("M") + roman;
- }
- </script></body>
- </html>
Add Comment
Please, Sign In to add comment