números romanos y número entero

  • 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 }

 

Supongo que te gusta

Origin www.cnblogs.com/zzytxl/p/12501530.html
Recomendado
Clasificación