Il tuo compito è convertire un dato intero positivo dal numero arabo al numero romano.
Le cose diventano difficili quando conti fino a 4000.
I romani lo fecero aggiungendo una linea sopra un simbolo per moltiplicare quel simbolo 1 000
. Tuttavia, gli overline non sono esattamente visualizzabili in ASCII. Inoltre, ci sono doppie linee di sovrapposizione per moltiplicare un simbolo 1 000 000
, quindi triplicare la linea per moltiplicare un simbolo per 1 000 000 000
, ecc.
Pertanto, ho deciso di utilizzare le parentesi per sostituire gli overline.
I simboli possono essere posizionati singolarmente tra parentesi. Ad esempio, entrambi (VI)
e (V)(I)
sono rappresentazioni valide di 6 000
. (V)M
è anche una rappresentazione valida di 6000.
(I)
è un modo valido per rappresentare 1 000
.
Casi 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
punteggio
Questo è code-golf . Il codice più corto in byte vince.
(IV)
una rappresentazione accettabile del 4000?