Sua tarefa é converter um número inteiro positivo de número arábico para número romano.
As coisas ficam difíceis quando você conta até 4000.
Os romanos fizeram isso adicionando uma linha acima de um símbolo para multiplicá-lo por 1 000
. No entanto, as linhas de cima não são exatamente exibidas no ASCII. Além disso, existem linhas duplas para multiplicar um símbolo por 1 000 000
e, em seguida, linha tripla para multiplicar um símbolo por 1 000 000 000
, etc ...
Portanto, decidi usar parênteses para substituir as linhas excessivas.
Os símbolos podem ser colocados individualmente entre parênteses. Por exemplo, ambos (VI)
e (V)(I)
são representações válidas de 6 000
. (V)M
também é uma representação válida de 6000.
(I)
é uma maneira válida de representar 1 000
.
Casos de teste
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
Pontuação
Isso é código-golfe . O código mais curto em bytes vence.
(IV)
uma representação aceitável de 4000?