Schreiben Sie ein Programm oder eine Funktion, die genau diesen Text ausgibt (bestehend aus 142 Zeichen):
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
\::\433832|
\::\79502|
\::\8841|
\::\971|
\::\69|
\::\3|
\__\|
Ihr Programm darf keine Eingaben (außer in Sprachen, in denen dies nicht möglich ist, wie z. B. sed
) und den obigen Text (und nur den obigen Text) als Ausgabe erzeugen. Ein abschließender Zeilenumbruch ist zulässig.
Das ist Code-Golf , also gewinnt die kürzeste Antwort (in Bytes).
()
an der Spitze N ist. Es wäre sehr komplex, wenn.Antworten:
MATL ,
706867 BytesProbieren Sie es online!
Erläuterung
Was für ein Chaos. Aber hey, da ist eine Faltung!
Die Erklärung wird klarer, wenn Sie den Stapelinhalt nach einer bestimmten Anweisung überprüfen können . Fügen Sie dazu einfach
X#0$%
an dieser Stelle ein. (Das bedeutet:X#
Stack-Inhalte0$
anzeigen, nichts anderes implizit anzeigen%
, Rest des Codes auskommentieren). Sehen Sie sich zum Beispiel den Stapel direkt nach der Faltung an .quelle
:)
, die in Ihrem Code angezeigt wird.Perl, 93 Bytes
Erfordert die Befehlszeilenoption
-l71Mbignum=bpi
, die als 14 gezählt wird. Die\32
sollte durch ein Literalzeichen 26 ersetzt werden.Beispielnutzung
Perl, 111 Bytes
Parametrisierte Version. Erfordert die Befehlszeilenoption
-nMbignum=bpi
, die als 12 gezählt wird.Beispielnutzung
quelle
JavaScript (ES6),
187174 BytesDies ist 1 Byte kürzer als nur die Anzeige des Klartextes.
quelle
Python 2, 131 Bytes
Gemeinsame Anstrengung von Sp3000 und Lynn. Kupfer hat auch ein Byte gespart! Ideone-Link.
quelle
for
Schleife entfernen ./// ,
129127 ByteProbieren Sie es online!
quelle
/!/()()/!!!
statt()()()()()()
und ersetzen/#/|\n%%/
mit/#/|\n%/
und den Rest des Codes anpassen , um es mit dem arbeiten.-:
,:-
,:-
und-__-
.Bash, 153 Bytes
quelle
<<
. Und Ihr Bytecount besteht aus 153 Bytes.echo '()()()()()()...\__\|'
4 Bytes nicht kürzer?Batch, 195 Bytes
quelle
Turtlèd ,
135129 Bytes (nicht konkurrierend)(Der Interpreter ist nicht wirklich
leichtbuggèd (mehr:]), aber es hat keinen Einfluss auf dieses Programm)Durch Umstrukturierung und Umschreiben meines Programms habe ich sechs Bytes Golf gespielt
Und jetzt muss ich eine neue Erklärung abgeben ...
Trotzdem könnten kürzere Probs sein
Zumindest ist die beste Lösung in dieser Sprache nicht nur das Schreiben in die Rohdaten ¯ \ _ (ツ) _ / ¯
Probieren Sie es online aus
Erläuterung
Ehrlich gesagt beschreibt dies das eigentliche Programm nicht sehr gut, gibt aber Hinweise zu den Befehlen, so dass Sie vielleicht ein wenig besser verstehen
KOMPLEXE SACHE: NESTED LOOPS
Solange die aktuelle Zelle kein Leerzeichen ist {nach links bewegen, Schleife ausführen: (Solange die Zelle nicht | ist, aktuelles Zeichen der Zeichenfolgenvariablen schreiben (daran denken, dass pi?), Zeichenfolgenzeiger inkrementieren, nach links bewegen), Schleife ausführen: (während die Zelle nicht \, nach oben bewegen, nach links bewegen
quelle
Fourier,
196190 BytesNeuer Feature Alert!
Code
Erläuterung
Dieses Programm ist meine erste Demonstration von Funktionen in Fourier:
Funktionen sind wie folgt definiert:
Die erste Pipe startet die Funktionsdeklaration. Dann setzen Sie den Code zwischen die Pipes. Die letzte Pipe beendet die Funktionsdeklaration. Schließlich ist das
f
die Variable, in der die Funktion gespeichert ist. Dies kann ein beliebiges Zeichen sein, sofern es sich nicht um eine reservierte Funktion handelt.In meinem Code ist beispielsweise eine der folgenden Funktionen:
Wobei die Variable
S
die Nummer 92 undC
die Nummer 58 speichert.Beim Aufruf gibt die Funktion Folgendes aus:
Da ist es die am meisten wiederholte Sache in der Torte.
In ähnlicher Weise habe ich eine Schleife verwendet, um die Ausgabe herunterzuspielen:
Womit der Code
40a41a
6 Mal wiederholt wird .40a41a
auf seinen eigenen Ausgängen:Wiederholen Sie den Code also sechs Mal, um Folgendes auszugeben:
Dadurch wird die Kruste des Kuchens ausgegeben.
Probieren Sie es auf FourIDE!
Da ich im Python-Interpreter keine Funktionen implementiert habe, funktioniert dieses Programm auf http://tryitonline.net nicht
quelle
Pyth, 89 Bytes
Probieren Sie es online!
Ersetzen Sie
\xx
(hexadezimal) durch das entsprechende ASCII-Zeichen, wenn Sie den Code aus dieser Antwort kopieren / einfügen. Es enthält nicht druckbare Zeichen in der gepackten Zeichenfolge, die SE herausfiltert.Erläuterung
quelle
Jelly , 83 Bytes
sicherlich noch ganz golfabale
TryItOnline
Wie?
quelle
Python 2,
193176 BytesOder eine kürzere, langweiligere Antwort:
quelle
print r'''(the pie)'''
38 Bytes kürzer sind? :)C #
220213209208202201 (171 *) Bytes* Ich finde das unoriginal und betrügt
201 Bytes:
220 Bytes:
Ich bin mir sicher, dass es hier etwas zu golfen gibtquelle
.Substring(j, i)
.()=>@"(pie)"
beträgt 149 Bytes .PowerShell , 105 Byte
Probieren Sie es online!
Ich bin nicht sicher, wie ich diese Herausforderung nie beantwortet habe ... Ich habe sie und einige der anderen Antworten positiv bewertet. Na ja, besser spät als nie?
Dadurch werden sechs ausgeglichene Parens als Zeichenfolge in die Pipeline eingefügt und anschließend eine Literalzeichenfolge (die zwei Bytes speichert) für die nächsten beiden Zeilen. Dann durchlaufen wir den Rest der Zahlen, wobei jede Iteration die Anzahl der vorangestellten Leerzeichen (
$i
) erhöht, mit denen verkettet wird\::<number>|
. Zuletzt erstellen wir einen String mit der Spitze des Kuchens. Diese ZeichenfolgenWrite-Output
verbleiben alle in der Pipeline, und ein impliziter Befehl setzt eine neue Zeile dazwischen.Das sind 39 Bytes weniger als nur das Drucken der Torte.
quelle
Kohle , 31 Bytes
Probieren Sie es online!
Sie fragen sich vielleicht: Was ist diese Zauberei? Wie können Sie mit füllen
UGPi
? Nun, Charcoal beginnt, Unterstützung für Wolfram Language zu erhalten, in der Hoffnung, dass es eines Tages bei mehr Herausforderungen wettbewerbsfähig sein kann!Vorher 71 Bytes
Probieren Sie es online!
Ausführlich
Beachten Sie, dass dies anders ist, da der Deverbosifier Strings automatisch komprimiert und redundante Befehle nicht entfernt.
Mit komprimierten Zeichenfolgen, 52 Bytes
xxd Ausgabe
Probieren Sie es online!
quelle
PHP, 170 Bytes
keine willkürliche Präzision Pi in PHP? Das Berechnen nimmt viel mehr Platz in Anspruch als das Kopieren und Einfügen. Es spielt keine Rolle, dass die letzte Ziffer hier abgeschnitten und nicht gerundet ist. aber in 64-Bit-Pi wird die letzte Ziffer aufgerundet.
Laufen Sie mit
php -r '<code>'
unkommentierte Panne
quelle
13
mit einem ändern14
). Und aus irgendeinem bizarren Grund fehlt Ihnen die schließende Klammer oben. Durch die Änderung wird die Ausgabe korrigiert.<?php
Tag, sonst erzeugen sie nur eine konstante Ausgabe. PHP Hallo, Welt! hängt eigentlich davon ab. Wenn man jedoch von einer konstanten Ausgabe spricht, würde eine PHP-Antwort, die nur den wörtlichen Kuchen und überhaupt kein<?php
Tag enthält, Ihre um ein Vielfaches übertreffen…<?php
Tag nicht, wenn Sie es mit ausführen-r
.Python 2,
183171 BytesMacht eigentlich nichts gescheites. Baut einfach einen großen String auf und druckt ihn dann aus.
BEARBEITEN
Reduziert auf 171 nach dem Lesen von @Lynns Antwort und Lernen. Tut mir leid, wenn es falsch ist, (schamlos) ein paar Bytes von dir zu stehlen, ohne dass du es vorschlägst. Bitte sagen Sie mir, wenn ja, und ich werde die Änderung zurücksetzen.
Ausgabe
quelle
print r'''(the pie)'''
28 Bytes kürzer sind? :)Ruby,
140138137 BytesMeine Lösung für dieses Problem in Ruby, das ist meine erste Code Golf Antwort: D
Lesbare Version und Erklärung:
Nichts wirklich Schlaues, nur ein paar einfache Loops :)
Ausgabe:
quelle
Stax , 63 Bytes
Online ausführen und debuggen!
Kürzer als die akzeptierte MATL-Antwort. Es wäre definitiv kürzer, wenn mehr Ziffern als der konstante pi in Stax gespeichert würden.
(Was ist das
Pi<0
im Code?)Erläuterung
Verwendet das ASCII-Äquivalent, um zu erklären, was ist
Erweiterung:
quelle
Java 7,
260236191 Bytes. Seufz, einfach die Ausgabe der Kuchen ist kürzer, auch mit allen entkam Schrägstrichen ..>>
Hier ist vorherige Antwort mit einem klein wenig leisten, wenn auch noch nicht sehr allgemein oder Phantasie ( 236 Byte ):
Eine ziemlich langweilige Antwort, da die einfache Ausgabe des Ergebnisses ohne allzu ausgefallene Dinge in Java kürzer ist als ein generischer Ansatz.
Ungolfed & Testcode:
Probieren Sie es hier aus.
Ausgabe:
quelle
Qbasic, 175 Bytes
quelle
Lua, 152 Bytes
Versuchen Sie, wie ich könnte, ich konnte diese Pi nicht komprimieren.
Lua ist einfach zu wortreich, vielleicht ein Pi von größerer Größe, aber nicht dieser.
Eine andere Lösung, 186 Bytes.
Es ist ärgerlich, dass Luas Pi nicht genau genug ist, um das Pi zu füllen. :(
quelle
Javascript, 172 Bytes
Fügen Sie es in Ihre Konsole ein, um es auszuführen.
quelle
Javascript: 100 bytes
. B. ).JavaScript (ES6),
170 Byte,165 Byteist ein bisschen "betrogen", da bei Ausführung auf der Konsole der Rückgabewert angezeigt würde
Nach einigem Teak sieht die Funktion so aus (Funktion muss mit Parameter mit dem Wert 0 aufgerufen werden):
Wenn Sie die Funktion 167 Bytes aufrufen wollen:
quelle
"|\n"
mit|<newline>
wo<newline>
ist ein wörtlicher Zeilenumbruch. 3: Fügey=>
zum Anfang hinzu und es wird nicht schummeln. 4: Willkommen auf der Seite!()
Umschließen desv
Parameters entfernen . Ihre Ausgabe scheint ein zusätzliches Leerzeichen vor der 2. und 3. Zeile zu haben. Außerdem müssen Sie kein0
Argument übergeben, da Ihre Funktion ohne dieses Argument einwandfrei funktioniert und die Herausforderung dies auch nicht zulässt.PHP, 142 Bytes
Sneaky-sneaky :)
php
druckt einfach alles aus, ohne zu versuchen, es als PHP-Code zu interpretieren, wenn es keine<?php ?>
Paare sieht .quelle