Entrada:
Un entero
Salida:
- Primero convierta el entero a su número romano equivalente.
- Luego convierta cada letra mayúscula de ese número romano a su valor decimal ASCII / UNICODE.
- Y generar la suma de esos.
Ejemplo:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Números romanos: Aquí hay un convertidor de números romanos quizás útil.
Reglas de desafío:
- Se aplican las reglas estándar de números romanos, por lo que no hay formas alternativas como
IIII
o enVIIII
lugar deIV
yIX
. * - Las líneas de Macron sobre los números romanos más allá de 1,000 son
¯
(UNICODE nr. 175). Entonces una línea cuenta como+175
y dos como+350
. - Puede usar cualquier tipo de entrada y salida, siempre que represente los enteros.
- Los casos de prueba estarán en el rango de
1 - 2,147,483,647
.
* Reglas de números romanos (cita de Wikipedia):
Los números se forman combinando símbolos y sumando los valores, entonces
II
son dos (dos unos) yXIII
trece (diez y tres unos). Debido a que cada número tiene un valor fijo en lugar de representar múltiplos de diez, cien y así sucesivamente, según la posición, no hay necesidad de ceros de "mantenimiento de lugar", como en números como 207 o 1066; esos números se escriben comoCCVII
(dos cientos, cinco y dos unidades) yMLXVI
(mil, cincuenta, diez, cinco y uno).Los símbolos se colocan de izquierda a derecha en orden de valor, comenzando por el más grande. Sin embargo, en algunos casos específicos, para evitar que se repitan cuatro caracteres en sucesión (como
IIII
oXXXX
), la notación sustractiva se usa a menudo de la siguiente manera:
I
colocado antesV
oX
indica uno menos, entonces cuatro esIV
(uno menos que cinco) y nueve esIX
(uno menos que diez)X
colocado antesL
oC
indica diez menos, entonces cuarenta esXL
(diez menos de cincuenta) y noventa esXC
(diez menos de cien)C
colocado antesD
oM
indica cien menos, entonces cuatrocientos esCD
(cien menos de quinientos) y novecientos esCM
(cien menos de mil)
Por ejemplo,MCMIV
es mil novecientos cuatro, 1904 (M
es mil,CM
es novecientos yIV
es cuatro).Algunos ejemplos del uso moderno de los números romanos incluyen:
1954 comoMCMLIV
; 1990 comoMCMXC
; 2014 comoMMXIV
FUENTE
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados, programas completos. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
y 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
. Así que he corregido el segundo, pero 9999
fue correcto.
2222222222
no está en el rango dado. También estoy de acuerdo con 5362
.