Schreiben Sie ein Programm, das alle 64 Ebenen dieser Darstellung von Grahams Zahl aus Wikipedia ausgibt :
Die Ausgabe muss exakt übereinstimmen diese ASCII - Version (in denen ^
stellt Knuth Aufwärtspfeile und Kombinationen von Schrägstrichen und Unterstrichen repräsentieren die große horizontale geschweifte Klammern):
3^^...............................................................................................................................^3
\_______________________________________________________________ _______________________________________________________________/
\/
3^^.............................................................................................................................^3
\______________________________________________________________ ______________________________________________________________/
\/
3^^...........................................................................................................................^3
\_____________________________________________________________ _____________________________________________________________/
\/
3^^.........................................................................................................................^3
\____________________________________________________________ ____________________________________________________________/
\/
3^^.......................................................................................................................^3
\___________________________________________________________ ___________________________________________________________/
\/
3^^.....................................................................................................................^3
\__________________________________________________________ __________________________________________________________/
\/
3^^...................................................................................................................^3
\_________________________________________________________ _________________________________________________________/
\/
3^^.................................................................................................................^3
\________________________________________________________ ________________________________________________________/
\/
3^^...............................................................................................................^3
\_______________________________________________________ _______________________________________________________/
\/
3^^.............................................................................................................^3
\______________________________________________________ ______________________________________________________/
\/
3^^...........................................................................................................^3
\_____________________________________________________ _____________________________________________________/
\/
3^^.........................................................................................................^3
\____________________________________________________ ____________________________________________________/
\/
3^^.......................................................................................................^3
\___________________________________________________ ___________________________________________________/
\/
3^^.....................................................................................................^3
\__________________________________________________ __________________________________________________/
\/
3^^...................................................................................................^3
\_________________________________________________ _________________________________________________/
\/
3^^.................................................................................................^3
\________________________________________________ ________________________________________________/
\/
3^^...............................................................................................^3
\_______________________________________________ _______________________________________________/
\/
3^^.............................................................................................^3
\______________________________________________ ______________________________________________/
\/
3^^...........................................................................................^3
\_____________________________________________ _____________________________________________/
\/
3^^.........................................................................................^3
\____________________________________________ ____________________________________________/
\/
3^^.......................................................................................^3
\___________________________________________ ___________________________________________/
\/
3^^.....................................................................................^3
\__________________________________________ __________________________________________/
\/
3^^...................................................................................^3
\_________________________________________ _________________________________________/
\/
3^^.................................................................................^3
\________________________________________ ________________________________________/
\/
3^^...............................................................................^3
\_______________________________________ _______________________________________/
\/
3^^.............................................................................^3
\______________________________________ ______________________________________/
\/
3^^...........................................................................^3
\_____________________________________ _____________________________________/
\/
3^^.........................................................................^3
\____________________________________ ____________________________________/
\/
3^^.......................................................................^3
\___________________________________ ___________________________________/
\/
3^^.....................................................................^3
\__________________________________ __________________________________/
\/
3^^...................................................................^3
\_________________________________ _________________________________/
\/
3^^.................................................................^3
\________________________________ ________________________________/
\/
3^^...............................................................^3
\_______________________________ _______________________________/
\/
3^^.............................................................^3
\______________________________ ______________________________/
\/
3^^...........................................................^3
\_____________________________ _____________________________/
\/
3^^.........................................................^3
\____________________________ ____________________________/
\/
3^^.......................................................^3
\___________________________ ___________________________/
\/
3^^.....................................................^3
\__________________________ __________________________/
\/
3^^...................................................^3
\_________________________ _________________________/
\/
3^^.................................................^3
\________________________ ________________________/
\/
3^^...............................................^3
\_______________________ _______________________/
\/
3^^.............................................^3
\______________________ ______________________/
\/
3^^...........................................^3
\_____________________ _____________________/
\/
3^^.........................................^3
\____________________ ____________________/
\/
3^^.......................................^3
\___________________ ___________________/
\/
3^^.....................................^3
\__________________ __________________/
\/
3^^...................................^3
\_________________ _________________/
\/
3^^.................................^3
\________________ ________________/
\/
3^^...............................^3
\_______________ _______________/
\/
3^^.............................^3
\______________ ______________/
\/
3^^...........................^3
\_____________ _____________/
\/
3^^.........................^3
\____________ ____________/
\/
3^^.......................^3
\___________ ___________/
\/
3^^.....................^3
\__________ __________/
\/
3^^...................^3
\_________ _________/
\/
3^^.................^3
\________ ________/
\/
3^^...............^3
\_______ _______/
\/
3^^.............^3
\______ ______/
\/
3^^...........^3
\_____ _____/
\/
3^^.........^3
\____ ____/
\/
3^^.......^3
\___ ___/
\/
3^^.....^3
\__ __/
\/
3^^...^3
\_ _/
\/
3^^^^3
Beachten Sie, dass 64 Ebenen vorhanden sind, dass keine nachgestellten Leerzeichen vorhanden sind und dass zwei ^
vor den Punkten und nur eine nach den Punkten auftreten.
Der MD5-Hash Ihrer Ausgabe sollte genau sein c84d0e20eac2a7f891ab42a8eb77759f
, oder 1ad3b10d06e38693436c14958b2c47a8
wenn es eine nachgestellte Newline gibt (was in Ordnung ist).
Der kürzeste Code in Bytes gewinnt. Ausgabe auf Standardausgabe. Es erfolgt keine Eingabe.
quelle
1ad3b10d06e38693436c14958b2c47a8
auszugeben : wie von grc angegeben, oderc84d0e20eac2a7f891ab42a8eb77759f
wenn das letzte Zeilenumbruchzeichen weggelassen werden kann.Antworten:
CJam - 64
Versuchen Sie es unter http://cjam.aditsu.net/
quelle
Python, 122
Beispiel:
quelle
Perl - 113 (112 + 1 für -E)
Golf gespielt:
Ungolfed:
BEARBEITEN: Es gab einen Fehler bei der String-Interpolation, bei der Perl dachte, $ m3 sei eine Variable, deshalb musste ich 2 Zeichen hinzufügen, um das zu beheben.Gelöst durch Ändern von $ m in $.NINJA EDIT: Ersetzt Instanzen von "" durch $. Speichert 2 Zeichen
NINJA EDIT 2: Vielen Dank an @chilemagic, dass ich sagen kann, anstatt mit -E zu drucken, um ein Zeichen zu speichern.
NOT-SO-NINJA EDIT 3: @Naxs Lösung hat meine alte Lösung geschlagen, also habe ich sie etwas aufpoliert, um mich zu behaupten.
quelle
say
anstelle von verwendenprint
und es dann mit-E
anstelle von ausführen-e
(wenn Ihre Perl-Version hoch genug ist). Sieht aber gut aus!Haskell, 152
quelle
+1
den Punkt vorher entfernst und einfach hinzufügst"^3"
.C 161
182(Ich denke, ich habe diese Methode ausgereizt, vielleicht sollte ich eine neue finden, die mehr Golf gespielt werden kann)
Kompilieren Sie als C99!
JS 158
xem.github.io/obfuscatweet/ 124:
quelle
Bash + Coreutils, 150
Ich dachte, ich könnte es besser machen. Naja.
Ausgabe:
quelle
STATA 135
quelle
JavaScript 179
Testen Sie es in Ihrer Browserkonsole oder unter http://jsfiddle.net/2qwvrvcw/ .
quelle
Javascript (203)
Ungolfed:
quelle
C # (
212211).Net Fiddle (es scheint erforderlich zu sein, dass die Klasse und die Main-Methode öffentlich sind)
Leicht ungolfed:
quelle
Perl,
116112109108 (einschließlich -E)Mein erster Golfversuch. Bitte nimm es als solches:
Golf gespielt:
Sehr leicht ungolfed (nicht gepflegt ...):
Im Wesentlichen funktioniert es so: Für jede 3er-Zeile und eine geschweifte Klammer (diese werden zusammen behandelt) schreibt es ihre Sequenz RLE-codiert und decodiert sie dann. Die Regel ist einfach: Jedes Zeichen, auf das eine Zahl folgt, wird so oft zu diesem Zeichen erweitert. Zeichen ohne Nummer bleiben allein. Schließlich bezeichnet das Zeichen
!
eine 3 undN
bedeutet eine neue Zeile (3 musste codiert werden, weil es eine Nummer ist und eifrig an der Anzahl der Wiederholungen teilnehmen würde).Jede Dreierzeile und ihre geschweifte Klammer erhalten ein Element in dem 64-Elemente-Array, das die Karte generiert. Sprich, wie print, kann Arrays ausgeben - wenn ein Array angegeben wird, werden alle Elemente (ohne Trennzeichen) gedruckt.
Ich habe mit chilemagic's Trick gespielt
-E
. Danke dafür.Verstärkung: Hier lauerten zwei 113-Byte-Lösungen. RLE soll nicht ohne Kampf erliegen!
Bereinigung von Feeds : Ich habe jetzt festgestellt, dass ich keine spezielle Transliteration von \ n benötige, da alle Strings in Perl automatisch mehrzeilig sind! So klammert sich RLE näher an den Rücken des Rubins! Jetzt bei 109 Bytes.
Qualvolle Aufklärung : Charaktere richtig zu zählen ist schwieriger als ich dachte. Nach einigem Ringen entschied ich mich
(-1, weil es ganz am Ende des Skripts ein LF zählt). Außerdem habe ich meine Zuordnungen neu geordnet und 1 Zeichen gespeichert, wobei ich mich auf 108 Bytes festgelegt habe.quelle
MATLAB (325)
ungolfed:
MATLAB (252)
ungolfed:
quelle
PHP 214
Dachte, mir geht es gut, bis ich die Charaktere gezählt habe, jedenfalls ist es hier -
quelle
' '
<br>
\n
<?
am Anfang des Codes hinzufügen - es muss ein gültiges Programm sein, keine Funktion.<?function a($n,$v=" "){return str_repeat($v, $n);}for($i=64;$i>1;){$b=a($i-1,"_");$v.=a(64-$i)."3^^".a($i*2-1,".")."^3\n".a(65-$i--)."\\$b".a(2)."$b/\n".a(65)."\/\n";}$v.=a(63)."3^^^^3";echo$v;
php grahams.php | md5sum
:c84d0e20eac2a7f891ab42a8eb77759f -
Lua - 174
Zuvor hatte ich zwei algorithmisch unterschiedliche Lösungen (beide 182!):
quelle