Einige Charaktere sind heiliger als andere. Zeigen Sie die obige Anweisung mit möglichst wenigen unheiligen Buchstaben an.
Herausforderung
Schreiben Sie ein vollständiges Programm, um es Holy Hole In A Donut, Batman!
auf STDOUT oder einer nächstgelegenen Alternative zu drucken . Wenn Sie die Eingabe komprimieren können, um Ihre Punktzahl zu verringern, werden Sie wild :)
Eingang
Keiner
Ausgabe
Holy Hole In A Donut, Batman!
Regeln
- Dies ist eine Code-Herausforderung und die niedrigste Punktzahl gewinnt
- Die gewünschte Ausgabe kann aus einer Datei gelesen werden, dies sollte dann jedoch zu Ihrer Gesamtsumme gezählt werden.
- Nachgestellte Zeilenumbrüche sind in der Ausgabe in Ordnung
- Es gelten Standardlücken und AGB
Wertung
Ihre Punktzahl ist Ihre Byteanzahl plus einige Modifikatoren:
- Die Verwendung heiliger Zeichen
0469abdegopqrADOPQR@#
zählt jeweils als 2 Punkte - Die Verwendung von extra heiligen Charakteren
8B%$&
kostet 1 Punkt (keine Strafe). - Die Verwendung von unheiligen Charakteren ist
12357cfhijklmnstuvwxyzCEFGHIJKLMNSTUVWXYZ!"^*()[]{}-=_+|\/?,.<>:;'~
mit einer höheren Strafe verbunden und zählt als 10 Punkte pro Charakter. - Leerzeichen, Tabulator und Zeilenumbrüche betragen 1 Punkt (keine Strafe).
- Alle anderen nicht aufgelisteten Zeichen haben 10 Punkte.
* Auf meiner Tastatur sind die Tasten '$' und '&' besonders heilig. Wenn ein Zeichen aufgrund von Schriftvariationen unheilig wird, lesen Sie die obige Liste
Die unmodifizierten String Holy Hole In A Donut, Batman!
Partituren 172
Rubin: puts "Holy Hole In A Donut, Batman!"
Partituren 225
Score Checker
@DeadChex hat freundlicherweise ein Scoring-Skript zusammengestellt
Bitte lassen Sie mich wissen, wenn ich etwas klären muss. Ich werde die Liste der Zeichen bei Bedarf aktualisieren - ich habe an dieser Stelle nur die offensichtlichen Schlüssel eingefügt. Die Idee ist einfach genug - Löcher in den Charakteren sind gut.
quelle
0
er ein besonders heiliger Charakter sein soll oder nicht. (Und es ist die Antwort)Antworten:
CJam ,
154153148143 PunkteProbieren Sie es online!
Wie es funktioniert
quelle
Unary, 109.700.689.123.880.793.751.483.665.383.781.675.730.387.604.429.204.978.112.223.950.724.553.435.005.885.707.908.578.678.850.861.879.910.670.154.149.244.112.969.597.673.955.700.447.838.276.456.862.280.889.656.901.703.351.515.963.083.297.978.322.224.548.248.606.910.210.200.102.145.647.654.537.444.488.063.149.647.173.155.335.488.014.867.140.385.453.547.997.132.573.700.942.612.360 Punkte
Berechnet mit bc , dem höchsten Präzisionsrechner, den ich kenne
Code:
4,5 x 10 259 Yottabyte
Nun, das ist kein Gewinn
quelle
4.87e268
Petabyte Speicherplatz benötigt ...612360
) durch,8
aber nicht durch teilbar16
. Wenn also die Punktzahl einer Person durch teilbar ist16
, liegt ihre Punktzahl0
in der2
-adic-Metrik näher als in dieser. (Derzeit hat kirbyfan64sos eine Pyth-Punktzahl von352
, die durch teilbar ist32
, was aussieht, als wäre es der Anführer unter dieser Norm.) Mathworld.wolfram.com/p-adicNumber.htmlBrainF ***, 3140 Punkte
Siehe, die Sprache der Unheiligkeit !
quelle
Malbolge,
1874,1239Ich bin mir ziemlich sicher, dass man mehr Golf spielen kann. Ich werde versuchen, das länger laufen zu lassen. Ich möchte Sub 1000 bekommen ...
Ich habe kürzere Programme gefunden (bis zu 175, glaube ich), aber die Punktzahl war höher ... Traurig. Derzeit auf einer Länge von 179 (180 ist aktuell) mit 4 Punkten weniger, nicht sicher, ob die Bearbeitung für dieses kurze bisschen.
quelle
sed,
169166 PunkteIch habe jeden
\t
Punkt als einen Punkt gezählt, da er durch einen tatsächlichen Tabulator ersetzt werden kann.Probieren Sie es online!
Wie es funktioniert
Beide Befehle verwenden das Extra Holy
&
als Begrenzer.Der erste Befehl ersetzt das Ende des (leeren) Musterbereichs durch die Zeichenfolge
\to#y \to#e I% A Do%u8, Ba8ma%!
.Der zweite Befehl ersetzt
\t
,#
,8
und%
mit den unheiligenH
,l
,t
undn
, respectively.Wegen der Strafe für unheilige Zeichen werden durch die Transliteration 12 Byte hinzugefügt, aber 20 Punkte gespart.
quelle
PHP,
175168163160159 PunkteIch habe alles getan, um die Punktzahl so weit wie möglich zu reduzieren.
Mit Hilfe von @Dennis wurde die Punktzahl um 5 Punkte reduziert.
Ja, nicht gerade kurz ...
Ersetzen Sie das
\n
und\t
durch eine Newline im UNIX-Stil und einen Tabulator.Um es auszuführen, führen Sie es einfach mit dem Schalter -r aus ( nicht in der Punktzahl enthalten ).
Hier ist eine kürzere, die nur 256 Punkte beträgt:
quelle
JavaScript, 1337 Punkte
Dies nutzt den Vorteil des Gesichts aus, dass das Alphabet 26 Buchstaben enthält und 26 Zeichen durch drei Ziffern der ternären (Basis-3) Zahlen 0, 1 und 2 dargestellt werden können, die hier jeweils durch dargestellt
%$&
werden.Teilen Sie diese enorme Zeichenfolge bei jeder 8 auf (ich verwende sie als Trennzeichen, weil sie extraheilig ist, Leerzeichen hätten auch funktioniert), konvertieren Sie sie durch Ersetzen in eine Ganzzahl zur Basis 3 (
0
wird%
,1
wird$
,2
wird&
), konvertieren Sie sie in Dezimal (%%&
=2
), und setzen Sie die Zeichenfolge wieder zusammen. Addieren Sie 65 (denchar
Wert des BuchstabensA
) und konvertieren Sie jede Ganzzahl in ein Zeichen, AZ. Zuletzt konvertieren Sie in Groß- und Kleinschreibung und fügen Interpunktion hinzu.Eine leichter zu lesende, nicht verkleinerte Version:
Klar ist es doof. Aber es hat Spaß gemacht, damit herumzuspielen!
quelle
alert("Holy Hole In A Donut, Batman!")
hat eine Punktzahl von 238 ...split("8")
.HTML, 169 Punkte
Dies ist das einzige Zeichen, das eine dezimale numerische Einheit mit nur durchbrochenen Zahlen hatte.
(In der HTML-Spezifikation muss auf Entities ein Semikolon folgen, es funktioniert jedoch in gängigen Browsern ohne ein Semikolon.)
quelle
Batch, 197 Punkte
c
undh
sind die einzigen zwei zusätzlichen Charaktere, die nicht heilig sind - und da für Batch keine runden Anführungszeichen erforderlich sind, verpasse ich dort die 20-Punkte-Strafe.quelle
@
Ergebnis von +2 zu Ihrer Punktzahl voranstellen. Alternativ können Sie dies auch direkt über die Eingabeaufforderung ausführen.Leerzeichen, 438 Punkte
Wenn Sie nichts sehen, dann ist es wegen Leerzeichen!
Das Lesen von " 4. Leerzeichen, Tabulator und Zeilenumbrüche sind 1 Punkt (keine Strafe). " Bringt mich zu meiner Wahl der Sprache:
[Beginn des Codes]
[Ende des Codes]
quelle
STL
, fügen Sie den Code in die Antwort rechts von diesem /// Skript ein (aber nicht in die STDIN oder ein Argument). Auf diese Weise können Sie die Unsichtbarkeit wiederherstellen!Headsecks ,
333470Ich habe mein BF-Programm in Headsecks konvertiert und dabei so viele Extra Holy-Charaktere wie möglich verwendet. Viel heiliger als BF.
Da vertikale Tabs anscheinend 10 kosten, wurde auf umgestellt
#
.Hinweis: Wahrscheinlich immer noch ein besseres Ergebnis als wenn ich keine Loops verwendet hätte.
quelle
Schlaflosigkeit , 168 Punkte
Nur geschafft, 1 Punkt besser als HTML-Lösung zu tun.
quelle
Pyth, 182 Punkte
Es ist nicht meine stärkste Sprache. Ich bin offen für Vorschläge ...
quelle
Z80 Assembler,
539523 PunkteBeachten Sie, dass dies auf einem MSX-Computer ausgeführt werden soll , dessen BIOS-Routine CHPUT unter der Adresse 00A2h das im Akkumulator übergebene Zeichen druckt, ohne ein Register zu ändern.
(Wie könnte die Punktzahl übrigens mit der zusammengesetzten Binärdatei berechnet werden?) :-P
quelle
M
durchQ
zu ersetzen , um einige Punkte zu sparen.Pyth, 352 Punkte
Ich habe versucht, schlau zu sein und die Zeichenfolge als besonders heilige Zeichen zu kodieren. Das hat nicht so gut geklappt ...
quelle
Jolf, nicht konkurrierend
84 Punkte
Probieren Sie es hier aus!
Dekomprimieren einer komprimierten Zeichenfolge
quelle
SMBF , 232 Punkte
␀
stellt ein Null-Byte dar\x00
, was unheilig ist.quelle
Ook! - 15699 Punkte
Ich werde dein Brainfuck sehen, und ich ziehe dich auf:
Kein Orang-Utan hat bei der Redaktion dieses Programms geschadet.
quelle
Golunar , 1713
Sicher, es ist nicht so wettbewerbsfähig, aber es punktet besser als meine BF-Antwort. Der Code wird erhalten, indem die Länge des Codes in Unary als Zahl verwendet wird.
quelle
ferNANDo , 467 Punkte
Probieren Sie es online!
quelle
Viertens 193 Punkte
Probieren Sie es online aus
Dies funktioniert auch mit der gleichen Punktzahl:
quelle
05AB1E , 28 Bytes (246 Punkte / 182 Punkte)
Probieren Sie es online!
noch schlimmer (Basis 5 mit heiligen Zeichen) - 256 Bytes:
oder (weniger spaßig, super trivial):
für 182 Punkte.
quelle
WYALHEIN ,
3103 Punkte, 2784 Bytes2886 Punkte, 2558 BytesProbieren Sie es online!
Wird mit einem Brute Forcer verwendet.
Nach einigen Tagen habe ich dies golfen.
quelle