Buchstäblich! Der 6. April ist der nationale Teflon-Tag , der mit Teflon-beschichteten Pfannen gefeiert wird (was wir machen werden). n
Erstellen Sie also bei einer positiven Ganzzahl eine Teflonpfanne. Der Abschnitt "Pfanne" der Pfanne ist ein Achteck, wobei jede seiner Seiten aus n
Zeichen besteht. Dies hängt davon ab, auf welcher Seite es sich befindet, mit Ausnahme der Seiten, auf denen das Zeichen {
oder verwendet wird }
. Diese Seiten haben immer eine Zeichenlänge von eins. Wenn n
ist 1:
_
/ \
{ }
\_/
Wie Sie sehen können, besteht jede Seite ein Zeichen (entweder {
, }
, /
, \
, oder _
). Wenn n
ist 2:
__
/ \
/ \
{ }
\ /
\__/
Das Handle wird mit n+3
=
's erstellt und endet mit einer Null ( 0
).
Wenn n
ist einer:
_
/ \
{ }====0
\_/
n
ist 2:
__
/ \
/ \
{ }=====0
\ /
\__/
n
ist 3:
___
/ \
/ \
/ \
{ }======0
\ /
\ /
\___/
Wenn n
ist 4:
____
/ \
/ \
/ \
/ \
{ }=======0
\ /
\ /
\ /
\____/
Regeln und Kriterien
Keine Lücken erlaubt
Der Griff kommt auf der rechten Seite heraus (die Seite aus dem
}
Charakter)Eingabe ist eine positive ganze Zahl
Wenn die Seite nicht aus einem
{
oder}
(nicht der linken oder rechten Seite) besteht, bestehen sie ausn
entsprechenden Zeichen:_ / \ Left side { } Right side \_/
- Da dies Code-Golf ist , gewinnt der kürzeste Code!
O
statt0
für den Knopf nehmen?Antworten:
Holzkohle ,
4138363028 BytesVielen Dank an @Emigna für die Unterstützung beim Speichern von zwei Bytes, danke an @ ASCII-only für das Speichern von sechs Bytes und danke an @Neil für das Speichern weiterer zwei Bytes!
Probieren Sie es online aus!
Erläuterung:
quelle
Nη↖ηG←η_↙↙η{↓↘ηM↑×η_↗η}×⁺³η=P0
Nη↙η↑←×_η↖η↗{↗η×_η↓↘η}×=⁺³η0
(1 Byte gespeichert durch die untere Hälfte der Pfanne Druck zunächst die HerstellungM
unnötig und 1 Byte durch Umkehren des Parameters gespeichert ,×
die machenP
nicht erforderlich.)JavaScript (ES6), 171 Byte
Die gesamte
Pizzapfannewiederholt sich sehr oft, sodass die Funktion r (als markiertes Vorlagenliteral konzipiert) das erste Zeichen ihrer Eingabe n-mal wiederholt. Dies behandelt die Ober- und Mitte sowie die Linien der Pfanne. Der Rest wird wiederholt, indem eine Reihe von Leerzeichen ersetzt wird. Die$`
und$'
Unterteilungen entsprechen automatisch einer zunehmenden und abnehmenden Anzahl von Leerzeichen, wodurch die/
und\
entsprechend positioniert werden. Schließlich werden die_
s in der letzten Zeile ausgefüllt, da sie sich in dieser Hinsicht geringfügig von der zweiten Zeile unterscheiden.quelle
JavaScript + HTML,
575 Bytes (nur 451 Bytes JS)376 Bytes (nur 482 Bytes JS)Kein komplizierter Ansatz: Mehrere String-Verkettungen unter Verwendung von Bedingungen für die fünf verschiedenen Teile der Pfanne: die oberste, unterste und mittlere Linie sowie die obere und untere Hälfte.
Ich habe so viel gekürzt, wie ich konnte, aber es war die Grenze bei dieser Methode.
EDIT: es war nicht - zusätzlich von @ programmer5000 Golf gespielt
quelle
PHP, 174 Bytes
Nimmt Eingaben von STDIN entgegen; Laufen Sie mit
-nR
oder testen Sie es online .Nervenzusammenbruch
quelle
Python 3, 196 Bytes
Ich habe ein paar Variablen verwendet, um den Code zu verkürzen, aber es ist meistens einfach. Hier ist eine längere, besser lesbare Version:
Bearbeiten: geändert, um n von stdin zu lesen, 181 → 196 Bytes
quelle
Python 2 ,
180178 BytesProbieren Sie es online aus!
quelle
Python 2.7,
194195191187185 BytesProbieren Sie es online aus!
Öffnen Sie diese Option, um Vorschläge zu bearbeiten und sie zu verkleinern. :) :)
Bearbeiten 1: +1 Byte - Dank an ElPedro für den Hinweis auf einen Fehler im Code, der den Code um 1 Byte verlängert hat.
Edit 2: -4 Bytes - Dank an piyush-ravi für das Entfernen unnötiger Argumente.
Edit 3: -4 Bytes - Wie habe ich das nicht gesehen? : P.
Edit 4: -2 Bytes - Ersetzen von '\ n' durch ';'
quelle
PowerShell , 165 Byte
Probieren Sie es online aus!
Übernimmt Eingaben
$n
, setzt$a
auf eine Reihe von Leerzeichen,$b
auf eine Reihe von Unterstrichen, und die Zeichenfolge verkettet diese mit einem Leerzeichen. Das bleibt in der Pipeline.Schleifen von
$n
unten nach1
. Wenn ja$n=1
, wird dies nur einmal ausgeführt. Bei jeder Iteration führen wir eine Zeichenfolgenverkettung von Leerzeichen, a/
, mehr Leerzeichen mit Zähler$i
und a durch\
. Diese sind alle in der Pipeline.Dann kommt der mittlere Teil mit dem Griff, die zufällig haben
$a*3
Räume in der Mitte, und$n+3
=
Zeichen, dann ein0
. Das bleibt in der Pipeline.Wenn
$n
größer als ist1
, dann$n-1
ist es wahr, also geben wir die Bedingung ein, wo wir die andere Richtung schleifen, um den Boden der Pfanne zu bilden. Wenn$n=1
ja, dann brauchen wir diesen Teil aufgrund der Funktionsweise der Linien nicht. Diese sind alle in der Pipeline. Wir beenden mit den Leerzeichen und unterstreichen mit dem$a\$b/
Boden der Pfanne.Alle diese Zeichenfolgen aus der Pipeline werden implizit gesendet
Write-Output
und mit Zeilenumbrüchen zwischen den Elementen gedruckt.quelle
JavaScript + HTML - 346 Bytes
JavaScript - 314 Bytes, HTML - 32 Bytes
Nicht Golf gespielt
quelle
C 249 Bytes
Probieren Sie es online aus
quelle