(Inspiriert von dieser Frage )
Zielsetzung
Ihre Aufgabe ist es, ein Programm oder eine Funktion zum Drucken einer ASCII-Version des Stack Overflow-Logos an STDOUT zu schreiben
\|/
(-)
(-)
(-)
(-)
Ihr Programm sollte zwei Eingaben annehmen, die hier als H und N bezeichnet werden. Die Höhe des Stapels "Container" (die Klammern) wird durch H bestimmt. Die Anzahl der Elemente im Stapel wird durch N bestimmt Stapel wird "überlaufen".
Input-Output
H bestimmt die Höhe der Container
Zum Beispiel:
H = 1:
( )
H = 2:
( )
( )
H = 3:
( )
( )
( )
H wird immer mindestens 1 sein
N bestimmt, wie viele Elemente sich im Stapel befinden. Die folgenden Beispiele sind alle H = 2:
N = 0
( )
( )
N = 1
( )
(-)
N = 2
(-)
(-)
N = 3
\
(-)
(-)
N = 4
\|
(-)
(-)
N = 5
\|/
(-)
(-)
N = 6
\|/
(-)-
(-)
N = 7
\|/
(-)-
(-)-
N wird niemals größer sein als 2H+3
(mit anderen Worten, der Stapel wird niemals durch den Boden gehen).
Regeln
- Keine Standardlücken.
- Ihr Programm darf keine Fehler erzeugen.
- Alle Testfälle müssen bestanden werden.
- Sie können H und N nach Belieben eingeben.
- Ich bezweifle ernsthaft, dass Ihre Sprache eine eingebaute dafür hat.
- Jede Zeile kann optional ein zusätzliches Leerzeichen am Ende enthalten. Eine leere Zeile oberhalb eines Stapels, wobei N <= H optional ist, sowie eine nachgestellte Zeile.
- Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
Testfälle
Zusätzlich zu allen H = 2-Testfällen aus dem Bereich Eingabe / Ausgabe müssen alle folgenden Testfälle bestanden werden:
H = 1, N = 1
(-)
H = 1, N = 5
\|/
(-)-
H = 4, N = 7
\|/
(-)
(-)
(-)
(-)
H = 5, N = 0
( )
( )
( )
( )
( )
Bestenlisten
Hier ist ein Stack-Snippet, um sowohl eine reguläre Rangliste als auch eine Übersicht der Gewinner nach Sprache zu generieren.
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Wenn Sie mehrere Zahlen in Ihre Kopfzeile aufnehmen möchten (z. B. weil Ihre Punktzahl die Summe von zwei Dateien ist oder wenn Sie die Strafen für Interpreter-Flags separat auflisten möchten), stellen Sie sicher, dass die tatsächliche Punktzahl die letzte Zahl in der Kopfzeile ist:
# Perl, 43 + 2 (-p flag) = 45 bytes
Sie können den Namen der Sprache auch als Link festlegen, der dann im Leaderboard-Snippet angezeigt wird:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes