Bei einer einzigen Ganzzahl in x
dem 0 <= x <= 91
fehlenden Ausgang ein Stapel von Bierflaschen mit , dass viele Flaschen (und Regale). Der Einfachheit halber zeige ich nur die ersten 6 Flaschen und was es für jede der ersten Eingaben sein würde.
Hier ist der Flaschenstapel. Jede Nummer ist die Flasche, die Sie für diese Eingabe entfernen sollten (1-indiziert):
Beachten Sie, dass wir 91 anstelle von 99 verwenden, da 99 zu einem instabilen Flaschenstapel führen würde.
Beispiel
Mit 0 fehlenden Flaschen ( x=0
):
|=|
| |
| |
/ \
. .
|-----|
| |
|-----|
|_____|
=============
|=| |=|
| | | |
| | | |
/ \ / \
. . . .
|-----| |-----|
| | | |
|-----| |-----|
|_____| |_____|
=====================
|=| |=| |=|
| | | | | |
| | | | | |
/ \ / \ / \
. . . . . .
|-----| |-----| |-----|
| | | | | |
|-----| |-----| |-----|
|_____| |_____| |_____|
=============================
[THERE ARE MORE UNDER THIS]
Die vollständige Ausgabe von 0 finden Sie hier: https://pastebin.com/ZuXkuH6s
Mit 1
fehlender Flasche ( x=1
):
|=| |=|
| | | |
| | | |
/ \ / \
. . . .
|-----| |-----|
| | | |
|-----| |-----|
|_____| |_____|
=====================
|=| |=| |=|
| | | | | |
| | | | | |
/ \ / \ / \
. . . . . .
|-----| |-----| |-----|
| | | | | |
|-----| |-----| |-----|
|_____| |_____| |_____|
=============================
[THERE ARE MORE UNDER THIS]
Dies sind wieder die ersten beiden Zeilen von hier: https://pastebin.com/ZuXkuH6s (wobei 1 entfernt wurde) ...
Bei 2 fehlenden Flaschen:
|=|
| |
| |
/ \
. .
|-----|
| |
|-----|
|_____|
=====================
|=| |=| |=|
| | | | | |
| | | | | |
/ \ / \ / \
. . . . . .
|-----| |-----| |-----|
| | | | | |
|-----| |-----| |-----|
|_____| |_____| |_____|
=============================
[THERE ARE MORE UNDER THIS]
[ZUSÄTZLICHE EINGÄNGE ENTFERNT]
Bei 91 fehlenden Flaschen ( n = 91
):
:(
Sie müssen ein unglückliches Gesicht ausgeben, weil Sie kein Bier mehr haben.
Regeln
- Flaschen sind von links nach rechts zu entnehmen.
- Regale werden entfernt, wenn kein Bier mehr auf den Regalen steht.
- Bei einer Eingabe von 0 geben Sie 91 Flaschen aus, die in einem Dreieck gestapelt sind.
- Die untere Reihe hat 13 Flaschen, die obere hat 1.
- 1 Platz zwischen jeder Flasche in jedem Regal.
- Zwischen jeder Flaschenreihe müssen Regale stehen.
- Regale verwenden kann
=
,-
oder#
als Zeichen. - Die Regale müssen auf jeder Seite 3 breitere Stellen haben als die Flaschen, die sie enthalten.
- Regale verwenden kann
- Dies ist Code-Golf , die niedrigste Anzahl an Bytes gewinnt.
Antworten:
Kohle ,
9991 BytesProbieren Sie es online! Link ist eine ausführliche Version des Codes. Tatsächlich ist die reale Version nur
83-70Bytes:Erläuterung:
Füllen Sie ein Array mit Informationen darüber, wohin die Regale führen und wie lang sie sind.
Drucken Sie ein unglückliches Gesicht, das jedoch sofort von der ersten Flasche Bier (falls vorhanden) überschrieben wird.
Schlinge dich durch die restlichen Bierflaschen.
Prüfen Sie, ob ein Regal gezeichnet werden muss.
Drucken Sie das Regal aus und stellen Sie es bereit, um die nächste Flasche darüber zu zeichnen.
Zeichnen Sie eine Flasche und stellen Sie sie bereit, um eine weitere Flasche zu zeichnen.
quelle
for
Schleife inkrementieren . Dies ist einewhile
Schleife, daher muss ich einige Dinge manuell erledigen.for
Schleife der beste Weg ... 13 Bytes gespart! (Nun, ich hatte ein bisschen Glück mit der Leichtigkeit, mein ArrayPython 3 ,
306299265253255252247244 BytesSchneller Versuch, könnte optimiert werden
Edit: -2 Bytes dank @MrXcoder
Edit: -32 Bytes, da nachgestellte Leerzeichen nicht benötigt werden
Editieren: -12 Bytes durch Kombination der beiden Funktionen
Edit: -5 Bytes dank @ musicman523
Bearbeiten: +7 Bytes, um das Regal nach der letzten Zeile zu entfernen
Edit: -3 Bytes
Edit: -5 Bytes, da eine Lambda-Funktion in einer Map nur einmal verwendet wird
Bearbeiten: -3 Bytes mit der String-Funktion
center
Probieren Sie es online!
quelle
d=
den Header jedochE
VariablenJavaScript (ES6),
251256 ByteBearbeiten: 2 Bytes dank @dzaima gespeichert .
Bearbeiten: 7 Bytes hinzugefügt, um das Problem mit dem Parameter zu beheben.
:(
Hier ist die (meist) ungolfed Version:
Code testen
Code-Snippet anzeigen
quelle
r
"Makro"; Ich hatte das Gefühl, dass es eine kürzere Methode geben könnte, aber nichts, was ich ausprobierte, brachte es zum Erliegen.C (GCC) ,
360358 BytesProbieren Sie es online!
Erläuterung:
quelle
Python 2, 436 Bytes
Huch !!
Meine Methode ist zu ausführlich, aber dennoch: Sie zeichnet im Wesentlichen jede Flaschenreihe, fügt Leerzeichen hinzu und 'löscht' dann alles Notwendige, druckt alles, was noch übrig ist.
Halvard Hummels ist viel besser.
quelle