Ihre Aufgabe ist es, eine bestimmte positive ganze Zahl von einer arabischen in eine römische Zahl umzuwandeln .
Schwierig wird es, wenn man bis 4000 zählt.
Die Römer taten dies, indem sie eine Linie über einem Symbol einfügten, um dieses Symbol mit zu multiplizieren 1 000
. Überstriche können in ASCII jedoch nicht genau angezeigt werden. Außerdem gibt es doppelte Überstriche, mit denen ein Symbol multipliziert werden kann 1 000 000
, und dreifache Überstriche, mit denen ein Symbol multipliziert werden kann 1 000 000 000
, usw.
Aus diesem Grund habe ich mich entschieden, Klammern zu verwenden, um Überstriche zu ersetzen.
Die Symbole können einzeln in Klammern gesetzt werden. Beispielsweise sind beide (VI)
und (V)(I)
gültige Darstellungen von 6 000
. (V)M
ist auch eine gültige Darstellung von 6000.
(I)
ist eine gültige Darstellungsweise 1 000
.
Testfälle
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
Wertung
Das ist Code-Golf . Kürzester Code in Bytes gewinnen.
(IV)
eine akzeptable Darstellung von 4000?