- números romanos a enteros
caracteres con números romanos que comprende las siguientes siete: I, V, X, L, C, D y M.
carácter numérico
del I. 1
V. 5
X-10
L 50
C 100
D 500
M 1000
, por ejemplo, 2 escrito como números romanos II, a saber, 1,12 escrito como dos paralelo XII, a saber, X + II. 27 escribirse como XXVII, a saber XX + V + II.
Por lo general, una pequeña cantidad de números romanos a la derecha en grandes cantidades. Pero hay excepciones, por ejemplo, no escriba 4 IIII, pero IV. En el lado izquierdo número 5 número 1, el número de un gran número igual al valor representado por un número reducido 5 obtenido 4. Asimismo, el número 9 se representa como IX. Esta regla se aplica sólo a los seis casos siguientes:
I puede estar en la V izquierda (5) y X (10), y para representar 4 y 9.
X L puede ser colocado a la izquierda (50) y C (100), y 40 y 90 están representados.
C puede ser colocado en D (500) y M (1000) a la izquierda, a 400 y 900 representan.
Dado un número romano, para convertirlo en un entero. Para asegurarse de que la entrada está en el intervalo de 1 a 3.999 mil.
Ejemplo 1:
Entrada: "III"
de salida: 3
Ejemplo 2:
Entrada: "IV"
de salida: 4
Ejemplo 3:
De entrada: "IX"
de salida: 9
Ejemplo 4:
Entrada: "LVIII"
de salida: 58
explica: L = 50, V = 5 , III = 3.
Ejemplo 5:
Entrada: "MCMXCIV"
de salida: 1994
explicación: M = 1000, CM = 900 , XC = 90, IV = 4.
1 público clase T13 { 2 público int romanToInt (String s) { 3 HashMap <String, Integer> MAP = nuevo LinkedHashMap <> (); 4 map.put ( "M", 1000 ); 5 map.put ( "CM", 900 ); 6 map.put ( "D", 500 ); 7 map.put ( "CD", 400 ); 8 map.put ( "C", 100 ); 9 map.put ( "XC", 90 ); 10 map.put ( "L", 50 ); 11 map.put ( "XL", 40 ); 12 map.put ( "X", 10 ); 13 map.put ( "IX", 9 ); 14 map.put ( "V", 5 ); 15 map.put ( "IV", 4 ); 16 map.put ( "I", 1 ); 17 18 int res = 0 ; 19 para ( int i = 0; i <s.length () - 1; i ++ ) { 20 Cadena str1 = s.charAt (i) + "" ; 21 Cadena str2 = s.charAt (i + 1) + "" ; 22 Si (map.get (str1) < mapa. map.get (str1); 24 } más { 25 res + = map.get (str1); 26 } 27 } 28 res + = map.get (s.charAt (s.length () - 1) + "" ); 29 30 de retorno res; 31 } 32 33 }
- Entero en números romanos
caracteres con números romanos que comprende las siguientes siete: I, V, X, L, C, D y M.
carácter numérico
del I. 1
V. 5
X-10
L 50
C 100
D 500
M 1000
, por ejemplo, 2 escrito como números romanos II, a saber, 1,12 escrito como dos paralelo XII, a saber, X + II. 27 escribirse como XXVII, a saber XX + V + II.
Por lo general, una pequeña cantidad de números romanos a la derecha en grandes cantidades. Pero hay excepciones, por ejemplo, no escriba 4 IIII, pero IV. En el lado izquierdo número 5 número 1, el número de un gran número igual al valor representado por un número reducido 5 obtenido 4. Asimismo, el número 9 se representa como IX. Esta regla se aplica sólo a los seis casos siguientes:
I puede estar en la V izquierda (5) y X (10), y para representar 4 y 9.
X L puede ser colocado a la izquierda (50) y C (100), y 40 y 90 están representados.
C puede ser colocado en D (500) y M (1000) a la izquierda, a 400 y 900 representan.
Dado un número entero, convertirlo a un número romano. Para asegurarse de que la entrada está en el intervalo de 1 a 3.999 mil.
Ejemplo 1:
Entrada: 3
de salida: "III"
Ejemplo 2:
Entrada: 4
de salida: "IV"
Ejemplo 3:
Entrada: 9
de salida: "IX"
Ejemplo 4:
Entrada: 58
Salida: "LVIII"
explicación: L = 50, V = 5 , III = 3.
Ejemplo 5:
De entrada: 1994
Salida: "MCMXCIV"
explicación: M = 1000, CM = 900 , XC = 90, IV = 4.
1 público clase T12 { 2 3 público Cadena intToRoman ( int num) { 4 int [] nums = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; 5 String [] ROS = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V" , "IV", "I" }; 6 res String = "" ; 7 para ( int i = 0; i <nums.length; i ++ ) { 8 int count = num / nums [i]; 9 Si (recuento == 0 ) { 10 continúan ; 11 } 12 para ( int j = 0; j <count; j ++ ) { 13 res + = ROS [i]; 14 } 15 num - = count * nums [i]; 16 si (num == 0 ) { 17 descanso ; 18 } 19 } 20 de retorno res; 21 22 } 23 24 }