Herausforderungsbeschreibung
Wir hatten einige Probleme mit der Look-and-Say-Sequenz . Schnelle Erinnerung:
- Die Folge beginnt mit
1
, - Nachfolgende Terme dieser Sequenz werden erzeugt, indem jede Gruppe sich wiederholender Ziffern im vorhergehenden Term aufgezählt wird.
Die ersten Begriffe sind also:
1 "one"
11 "one one" (we look at the previous term)
21 "two ones"
1211 "one two, one one"
111221 "one one, one two, two ones"
312211 "three ones, two twos, one one"
Jetzt machen wir dasselbe, aber verwenden stattdessen römische Ziffern . Wir beginnen mit I
und folgen den gleichen Regeln (wir die Ziffer Zählung Regel Zeichen gelten statt, so lesen wir , IVX
wie one one, one five, one ten
anstelle von one four, one ten
oder eine andere Art und Weise):
I "one"
II "one one"
III "two ones" = "II" + "I"
IIII "three ones" = "III" + "I"
IVI "four ones" = "IV" + "I"
IIIVII "one one, one five, one one"
IIIIIVIII "three ones, one five, two ones" = ("III" + "I") + ("I" + "V") + ("II" + "I")
Bei einer positiven Ganzzahl N
entweder:
- Geben Sie die ersten
N
Ziffern dieser Sequenz aus (jedes sinnvolle Trennzeichen ist in Ordnung)["I", "II", "III", ...]
- Gibt den
N
Term dieser Sequenz aus (er kann 0-indiziert sein).
Denken Sie daran, Ihren Code so kurz wie möglich zu halten, da dies eine Code-Golf- Herausforderung ist!
EDIT: Ich glaube, dass es immer einen Standard / bevorzugten Weg gibt, Ganzzahlen als römische Ziffern auszudrücken (wie 95
-> XCV
statt VC
). Ein paar römische Umrechner, die ich online gefunden habe, bestätigen meine Meinung. Verwenden Sie im Zweifelsfall einen Online-Konverter , da die Auflistung aller möglichen Randfälle und spezifischen Regeln für das Schreiben von römischen Ziffern nicht der Punkt dieser Herausforderung ist.
EDIT2: @PeterTaylor und @GregMartin darauf hingewiesen , dass nur Zahlen kleiner oder gleich 5
in der Reihenfolge angezeigt, so dass Sie zu kümmern sich nicht um die Mehrdeutigkeit von römischen Ziffern (Zahlen 1
- 8
sind I
, II
, III
, IV
, V
, VI
, VII
, und VIII
)
4
/ IV
/ IIII
? Oder 95
/ XCV
/ VC
? Es gibt möglicherweise nicht immer eine eindeutige Möglichkeit, eine Ganzzahl auszudrücken, aber ich bin mir ziemlich sicher, dass es immer eine bevorzugte (Standard-) gibt - korrigieren Sie mich, wenn ich falsch liege.