Su tarea es convertir un entero positivo dado de un número arábigo a un número romano.
Las cosas se ponen difíciles cuando cuentas hasta 4000.
Los romanos hicieron esto agregando una línea sobre un símbolo para multiplicar ese símbolo por 1 000
. Sin embargo, los overlines no son exactamente visibles en ASCII. Además, hay dobles líneas para multiplicar un símbolo por 1 000 000
, y luego tres líneas para multiplicar un símbolo por 1 000 000 000
, etc.
Por lo tanto, decidí usar paréntesis para reemplazar los overlines.
Los símbolos se pueden colocar individualmente entre paréntesis. Por ejemplo, ambos (VI)
y (V)(I)
son representaciones válidas de 6 000
. (V)M
También es una representación válida de 6000.
(I)
Es una forma válida de representar 1 000
.
Casos de prueba
Input: 1
Output: I
Input: 2
Output: II
Input: 3
Output: III
Input: 4
Output: IV
Input: 15
Output: XV
Input: 40
Output: XL
Input: 60
Output: LX
Input: 67
Output: LXVII
Input: 400
Output: CD
Input: 666
Output: DCLXVI
Input: 3000
Output: MMM
Input: 3999
Output: MMMCMXCIX
Input: 4000
Output: M(V)
Input: 4999
Output: M(V)CMXCIX
Input: 6000
Output: (VI)
Input: 6000000
Output: ((VI))
Input: 6006000
Output: ((VI)VI)
Input: 6666666666
Output: (((VI)DCLXVI)DCLXVI)DCLXVI
Puntuación
Este es el código de golf . El código más corto en bytes gana.
(IV)
una representación aceptable de 4000?