Integer to Roman
Roman numerals are represented by seven different symbols: I, V, X, L, C, D, and M, with values 1, 5, 10, 50, 100, 500, and 1000 respectively.
Roman numerals are formed by appending the conversions of decimal place values from highest to lowest. Converting a decimal place value into a Roman numeral has the following rules:
- If the value does not start with 4 or 9, select the symbol of the maximal value that can be subtracted from the input, append that symbol to the result, subtract its value, and convert the remainder to a Roman numeral.
- If the value starts with 4 or 9 use the subtractive form representing one symbol subtracted from the following symbol, for example, 4 is 1 (
I) less than 5 (V):IVand 9 is 1 (I) less than 10 (X):IX. Only the following subtractive forms are used: 4 (IV), 9 (IX), 40 (XL), 90 (XC), 400 (CD) and 900 (CM). - Only powers of 10 (
I,X,C,M) can be appended consecutively at most 3 times to represent multiples of 10. You cannot append 5 (V), 50 (L), or 500 (D) multiple times. If you need to append a symbol 4 times use the subtractive form.
Given an integer, convert it to a Roman numeral.
Example 1
Input
num = 1994Output
"MCMXCIV"1994 is represented as 1000 (
M), 900 (CM), 90 (XC), and 4 (IV).Example 2
Input
num = 58Output
"LVIII"58 is represented as 50 (
L), 5 (V), and 3 (III).Constraints
- 1 <= num <= 3999