Herausforderung :
n
Als Eingabe wird eine Ganzzahl angegeben . Erstellen Sie einen Diamanten, der 2x der angegebenen Zahl entspricht n
.
Eingabe:
Die Eingabe ist eine Ganzzahl n
und 2 <n ≤ 3000.
Ausgabe :
Die Ausgabe erfolgt als Zeichenfolge und in Form eines Diamanten, der +
zu Beginn aus einer Additionslinie besteht, die n
using anzeigt+
Beispiele:
D (3): +++ + +++ +++++ +++++ +++ + D (5): +++++ + +++ +++++ +++++++ +++++++++ +++++++++ +++++++ +++++ +++ + D (6): ++++++ + +++ +++++ +++++++ +++++++++ +++++++++++ +++++++++++ +++++++++ +++++++ +++++ +++ +
Gewinnkriterien:
Dies ist Code-Golf, so dass der kürzeste Code in Bytes für jede Programmiersprache gewinnt.
n
unary aufnehmen?+
Als Strichmarke verwenden ?n
ist?Antworten:
Brainfuck ,
151139 BytesProbieren Sie es online!
Nimmt Eingaben über Unär, mit
+
s als Zählmarken ( vom Poster erlaubt ). Beschlossen, dies zu überarbeiten, da ich dachte, der alte war etwas länger als es sein könnte (obwohl dies auch ist!).Alte Version (151 Bytes):
Probieren Sie es online!
Übernimmt die Eingabe als Startzelle. Ich konnte mir keine Möglichkeit vorstellen, die erste Hälfte für die zweite zu nutzen, daher gibt es für jede eine Schleife.
Wie es funktioniert:
Und nur zum Spaß:
Probieren Sie es online!
quelle
Canvas , 9 Bytes
Probieren Sie es hier aus!
Erklärung (einige Zeichen wurden ersetzt, um monospace auszusehen):
quelle
Python 3 ,
959475 BytesProbieren Sie es online!
Mein erster Golfversuch, Verbesserungsvorschläge sind willkommen.
BEARBEITEN: 1 Byte dank Kevin Cruijssen gespeichert
BEARBEITEN: Missverständnisse über die Anzahl der Bytes beseitigt
BEARBEITEN: Dank Jo King und user202729 viel mehr Bytes gespart
quelle
print'\n'.join(['+'*n]+a+a[::-1])
können Sie auch ohne Klammern 2 weitere Bytes sparen. +1 von mir allerdings. Schöne erste Antwort. :)lambda
)).2*i+1 == i+i+1 == i-(-i-1) == i-~i
.05AB1E , 14 Bytes
Probieren Sie es online!
Erläuterung
Auch 14 Bytes:
L‚˜'+×ćs.∞∊.c»
quelle
'+×s·ÅÉ'+×∊.C»
VerwendenÅÉ
ist eine andereÅÉ
aber ich habe sie verworfen, weil ich nicht daran gedacht habe, sie zum Laufen·
zu bringen.Python 3 ,
7978 BytesProbieren Sie es online!
Dank dieser Tipps zum Golfen antworte Python , um mich über die
.center
Funktion zu informieren . Gibt eine Liste von Zeichenfolgen zurück.quelle
R ,
135 11096 BytesProbieren Sie es online!
@ JayCe mit dem finalen Schnitt.
Die
rep
Funktion wird zu einem bestehenden Infixoperator zugeordnet, wie<
oder^
so , dassrep("+", n)
entspricht ,"<"("+", n)
die unter Verwendung schrieben werden kann<
als Infixoperator wie in"+" < n
auf und verkürzt"+"<n
.quelle
"+"
direkt verwendet werden können, anstatt sie zuz
speichern, um einige Bytes zu sparen! Versuchen Sie es hier<
fürrep
unter 100 Zeichen zu erhalten! HierKohle , 15 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
Drucken Sie ein umgekehrtes Dreieck mit
+
der Höhe der Eingabe und fast der doppelten Breite.Bewegen Sie den Cursor nach unten, damit er nach der Reflektion auf der zusätzlichen Zeile landet.
Machen Sie ein Spiegelbild des Dreiecks.
Zeichnen Sie die zusätzliche Linie mit der aktuellen Spalte, um zu vermeiden, dass Sie die Eingabe erneut lesen müssen.
Reflektieren Sie die Ausgabe so, dass die zusätzliche Linie nach links zeigt.
quelle
Stax , 11 Bytes
Führen Sie es aus und debuggen Sie es
quelle
Python 3 ,
7675 BytesProbieren Sie es online!
quelle
QB64,
8279 Bytesquelle
JavaScript (Node.js) ,
106 bis105 ByteProbieren Sie es online!
________________________________________________
Zweiter Ansatz
JavaScript (Node.js) ,
1051009998 ByteProbieren Sie es online!
quelle
Japt
-R
,1817 BytesProbieren Sie es online!
quelle
PowerShell , 55 Byte
Probieren Sie es online!
quelle
+
stattx
. Sie können Ihre Antwort auch ein bisschen Community-freundlicher gestalten, indem Sie Try it online! und einen Link zu Ihrer Antwort hinzufügenJ , 29 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Haskell ,
8582 Bytes3 Bytes gespart dank nimi !
Probieren Sie es online!
quelle
x
entfernen, die 4 Bytes einspart: Probieren Sie es online aus!Ruby ,
7161 BytesProbieren Sie es online!
quelle
PHP, 103 Bytes
Laufen Sie als Pipe mit -nR oder versuchen Sie es online .
quelle
PowerShell , 58 Byte
Probieren Sie es online!
Einfach eine Auf- und Ab-Schleife, wobei jede Iteration die entsprechende Anzahl von Leerzeichen und dann die entsprechende Anzahl von Pluszeichen ausgibt. Ho-hum.
quelle
F # (Mono) , 123 Bytes
Probieren Sie es online!
quelle
/home/runner/code.fs(2,10): error FS0039: The value or constructor 'String' is not defined. Cannot open assembly 'code.exe': No such file or directory.
PHP 102 Bytes
Ich weiß, es kann viel kleiner sein;) Greetz Mangas
quelle
sed 4.2.2 , 69
Das Ergebnis enthält +1 für die
-r
Option zum Sedieren.Probieren Sie es online!
quelle
Ruby , 59 Bytes
Probieren Sie es online!
quelle
Python 3 , 98 Bytes
Probieren Sie es online!
Lesbare Version:
quelle
Yabasic , 102 Bytes
Eine anonyme Funktion, die Eingaben als unäre Zahlen mit annimmt
+
Zählmarken und an die Konsole ausgibt.Probieren Sie es online!
Alternative Version, 117 Byte
Eine anonyme Funktionsantwort, die Eingaben als Dezimalzahl akzeptiert und an die Konsole ausgibt.
Probieren Sie es online!
quelle
sub
Routine verpackt sind, nicht Teil einer Bibliothek sind und daher nicht diskret wie eingebaute Funktionen aufgerufen werden können (z. B.Abs(x)
). Sie können ein bisschen mehr über das lesen hier , wenn Sie mögen.JavaScript (Node.js) , 183 Byte
Probieren Sie es online!
Meine Antwort wurde dank @JoKing aktualisiert
quelle
APL (Dyalog Unicode) , 25 Byte SBCS
Probieren Sie es online!
Erläuterung:
quelle
1↓[2]
->0 1↓
oder noch besser:c,⍨⌽1↓[2]c←
->⍉(⊖⍪1↓⊢)⍉
Java 8, 159 Bytes
Kann definitiv noch mehr golfen, aber es ist ein Anfang.
Erläuterung:
Probieren Sie es online aus.
quelle
Japt
-R
,1816 BytesVersuch es
Erläuterung
quelle
Attache , 62 Bytes
Probieren Sie es online!
Ein Lambda, das die Ganzzahl als Argument verwendet.
Beispiel
quelle
T-SQL, 152 Bytes
Gemäß unseren E / A-Regeln erfolgt die Eingabe über die bereits vorhandene Tabelle t mit einem ganzzahligen Feld n .
Manuelle Zählschleife, nicht sehr "SQL-ähnlich". Formatiert:
quelle