Tracks
/
8th
8th
/
Ejercicios
/
Números romanos
Números romanos

Números romanos

Intermedia

Introducción

Hoy en día, la mayoría de la gente en el mundo usa los números arábigos (0–9). Pero si viajaras dos mil años al pasado, descubrirías que la mayoría de los europeos usaba números romanos en su lugar.

Para escribir un número romano usamos las siguientes letras latinas, cada una de las cuales tiene un valor:

M D C L X V I
1000 500 100 50 10 5 1

Un número romano es una secuencia de estas letras, y su valor es la suma de los valores de las letras. Por ejemplo, XVIII tiene el valor 18 (10 + 5 + 1 + 1 + 1 = 18).

Sin embargo, hay una regla que complica un poco las cosas: la misma letra no se puede usar más de tres veces seguidas. Eso significa que no podemos expresar números como el 4 con el aparentemente natural IIII. En su lugar, para esos números usamos un método de resta entre dos letras. Así que pensamos en 4 no como 1 + 1 + 1 + 1, sino como 5 - 1. Y, algo confuso para nuestra forma moderna de pensar, escribimos primero el número menor. Esto se aplica solo en los siguientes casos: 4 (IV), 9 (IX), 40 (XL), 90 (XC), 400 (CD) y 900 (CM).

¡El orden importa en los números romanos! Las letras (y las combinaciones especiales de arriba) deben ordenarse de mayor a menor valor, de izquierda a derecha.

Aquí tienes algunos ejemplos:

 105 => CV
---- => --
 100 => C
+  5 =>  V
 106 => CVI
---- => --
 100 => C
+  5 =>  V
+  1 =>   I
 104 => CIV
---- => ---
 100 => C
+  4 =>  IV

Y un último ejemplo más complejo:

 1996 => MCMXCVI
----- => -------
 1000 => M
+ 900 =>  CM
+  90 =>    XC
+   5 =>      V
+   1 =>       I

Instrucciones

Tu tarea es convertir un número de números arábigos a números romanos.

En este ejercicio solo nos interesan los números romanos tradicionales, en los que el número más grande es MMMCMXCIX (o 3,999).

Note

Hay muchas maneras diferentes de convertir entre números arábigos y números romanos. Te recomendamos empezar con un enfoque sencillo para familiarizarte con el concepto de los números romanos y luego buscar métodos más eficientes.

¡Asegúrate de ver nuestro video de Deep Dive al final para explorar los diferentes enfoques que puedes tomar!

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
8th Exercism

¿Todo listo para empezar Números romanos?

Regístrate en Exercism para aprender y dominar 8th con 70 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Números romanos!

Explora una variedad de soluciones diferentes para este ejercicio complicado, desde la recursión hasta las búsquedas basadas en tablas, una solución que usa números de base mixta y algo de trampa simplista por parte de Common Lisp.