Votre tâche consiste à convertir un entier positif donné du chiffre arabe en chiffre romain.
Les choses deviennent difficiles quand on compte jusqu'à 4000.
Les romains l'ont fait en ajoutant une ligne au-dessus d'un symbole pour multiplier ce symbole par 1 000
. Cependant, les surlignages ne sont pas exactement affichables en ASCII. En outre, il existe des doubles surlignages pour multiplier un symbole par 1 000 000
, puis un triple surlignage pour multiplier un symbole par 1 000 000 000
, etc.
Par conséquent, j'ai décidé d'utiliser des parenthèses pour remplacer les surlignages.
Les symboles peuvent être placés individuellement entre parenthèses. Par exemple, les deux (VI)
et (V)(I)
sont des représentations valides de 6 000
. (V)M
est également une représentation valide de 6000.
(I)
est une façon valable de représenter 1 000
.
Cas de test
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
Notation
C'est du code-golf . Le code le plus court en octets gagne.
(IV)
une représentation acceptable de 4000?