Einführung:
(Quelle: Wikipedia )
Wenn wir einen Regenbogen betrachten, hat er immer die Farben von oben nach unten:
Rot; Orange; Gelb; Grün; Blau; Indigo; violett
Wenn wir uns diese einzelnen Ringe ansehen, ist der rote Ring natürlich größer als der violette Ring.
Darüber hinaus ist es auch möglich, zwei oder sogar drei Regenbogen gleichzeitig zu haben.
All dies oben kombiniert wird in dieser Herausforderung verwendet:
Herausforderung:
Bei einer gegebenen Ganzzahl n
geben Sie die Anzahl der Ringe des (möglicherweise mehr als einen) "Regenbogens" aus, wobei wir die Buchstaben vibgyor
für die Farben verwenden.
Sehen Sie sich die folgenden Testfälle an, um zu sehen, wie sie aufgebaut sind n=1
und wie mit dem Abstand umgegangen werden solln=8
) . Wie Sie sehen, wird ein Leerzeichen zwischen zwei Regenbogen eingefügt, einschließlich des Abstands oben, bevor der Ring des nächsten Regenbogens in der Zeile eingefügt wird.
Herausforderungsregeln:
- Sie dürfen Kapital
VIBGYOR
anstelle von Kleinbuchstaben verwenden - Zwischen den einzelnen Regenbögen sollte ein Abstand sein
- Jede Menge von führenden und / oder nachfolgenden Leerzeichen / Zeilenumbrüchen ist zulässig, solange der tatsächliche Regenbogen (wo immer er auf dem Bildschirm platziert ist) korrekt ist
- Die Eingabe ist immer eine positive Ganzzahl (
>= 1
). Das Verhaltenn=0
ist daher undefiniert, und das Programm / die Funktion kann tun, was immer es will (nichts ausgeben; den Regenbogen ausgebenn=1
; zufällige Ausgabe; mit einem Fehler scheitern usw.). - Wenn Sie möchten, können Sie eine Liste / ein Array von Zeichenfolgen oder ein 2D-Array / eine Liste von Zeichen ausgeben (Sie können den eigentlichen Pretty-Printing-Code in die TIO-Fußzeile einfügen).
- Ignorieren Sie die Tatsache, dass die Ausgänge eher Mayatempeln als Regenbogen ähneln. XD
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Es wird außerdem dringend empfohlen, eine Erklärung für Ihre Antwort hinzuzufügen.
Testfälle (zuerst n=1
bis n=10
und n=25
):
1:
vvv
v v
2:
iii
ivvvi
iv vi
3:
bbb
biiib
bivvvib
biv vib
4:
ggg
gbbbg
gbiiibg
gbivvvibg
gbiv vibg
5:
yyy
ygggy
ygbbbgy
ygbiiibgy
ygbivvvibgy
ygbiv vibgy
6:
ooo
oyyyo
oygggyo
oygbbbgyo
oygbiiibgyo
oygbivvvibgyo
oygbiv vibgyo
7:
rrr
rooor
royyyor
roygggyor
roygbbbgyor
roygbiiibgyor
roygbivvvibgyor
roygbiv vibgyor
8:
vvv
v v
v rrr v
v rooor v
v royyyor v
v roygggyor v
v roygbbbgyor v
v roygbiiibgyor v
v roygbivvvibgyor v
v roygbiv vibgyor v
9:
iii
ivvvi
iv vi
iv rrr vi
iv rooor vi
iv royyyor vi
iv roygggyor vi
iv roygbbbgyor vi
iv roygbiiibgyor vi
iv roygbivvvibgyor vi
iv roygbiv vibgyor vi
10:
bbb
biiib
bivvvib
biv vib
biv rrr vib
biv rooor vib
biv royyyor vib
biv roygggyor vib
biv roygbbbgyor vib
biv roygbiiibgyor vib
biv roygbivvvibgyor vib
biv roygbiv vibgyor vib
25:
ggg
gbbbg
gbiiibg
gbivvvibg
gbiv vibg
gbiv rrr vibg
gbiv rooor vibg
gbiv royyyor vibg
gbiv roygggyor vibg
gbiv roygbbbgyor vibg
gbiv roygbiiibgyor vibg
gbiv roygbivvvibgyor vibg
gbiv roygbiv vibgyor vibg
gbiv roygbiv rrr vibgyor vibg
gbiv roygbiv rooor vibgyor vibg
gbiv roygbiv royyyor vibgyor vibg
gbiv roygbiv roygggyor vibgyor vibg
gbiv roygbiv roygbbbgyor vibgyor vibg
gbiv roygbiv roygbiiibgyor vibgyor vibg
gbiv roygbiv roygbivvvibgyor vibgyor vibg
gbiv roygbiv roygbiv vibgyor vibgyor vibg
gbiv roygbiv roygbiv rrr vibgyor vibgyor vibg
gbiv roygbiv roygbiv rooor vibgyor vibgyor vibg
gbiv roygbiv roygbiv royyyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygggyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbbbgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbiiibgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbivvvibgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbiv vibgyor vibgyor vibgyor vibg