Schreiben Sie ein Quine ... von dem jedes andere Zeichen entfernt werden kann, ist es immer noch ein gültiges Quine. Sie können festlegen, ob beim ersten oder zweiten Zeichen Zeichen entfernt werden sollen.
Bewertungskriterien (addieren Sie Boni / Strafprozentsätze für den Gesamtprozentsatz):
- Die Antworten müssen mindestens 4 Zeichen lang sein
- Das Programm muss mindestens ein alphabetisches Zeichen in seiner Quelle enthalten, wird also beispielsweise
12345!@#$%^&*()
disqualifiziert - + 750%, wenn die verwendete Sprache nicht vollständig ist (ich sehe dich an, HTML!)
- -15%, wenn die Lösung ihre Quelle in keiner Form von irgendwoher liest
- -20%, wenn Sie auch nur jedes fünfte Zeichen behalten und trotzdem ein Quine bilden können
Die Punktzahl wird anhand der Anzahl der Zeichen im ersten Programm gemessen.
Beispiel (keine echten Programme):
Wenn 123456789abcdef
und 13579bdf
beide Quines sind, ist die Punktzahl 15. Wenn 159d
auch Quine ist, ist die Endpunktzahl 12.
Dies ist Code-Golf, also gewinnt die niedrigste Punktzahl.
Antworten:
PHP, 4 Zeichen - 15% - 20% =
2,722,6 PunkteJa, PHP ist eine Turing-vollständige Sprache. Niemand hat gesagt , ich habe zu verwenden , eine ihrer eigentlichen Programmierfunktionen. ;-)
Bearbeiten: Die Punktzahl wurde geändert, um zu verdeutlichen, dass Boni additiv und nicht multiplikativ sind.
quelle
TI BASIC 4 - 35% = 2,6
Ich verstehe sie vielleicht falsch, aber ich glaube, ich bin auch für die Boni -15% und -20% berechtigt, was bedeutet, dass ich die niedrigstmögliche Punktzahl habe.
Ich kann das Programm schreiben:
was wird ausgegeben,
123i
wo ich natürlich die imaginäre Einheit ist. Wenn Sie das 1. und 3. Zeichen entfernen, bleibt nur2i
die Ausgabe2i
quelle
Python - 95
Große Herausforderung. Ich fand das ziemlich clever und eigentlich eine legitime Lösung!
quelle
Golfscript, 5 Punkte
ist eine Funktion, die beim Ausführen die (nicht vorhandene) Funktion ausführt
hai
. Es wird jedoch nicht ausgeführt, sondern am Ende des Programms gedruckt - einschließlich der äußeren Klammern. Das Entfernen der anderen Zeichen führt zu folgenden Ergebnissen:Lahm, ich weiß :-)
quelle
{}
ist auch ein Quine.{ab0}
qualifiziert, wenn0
es die sein kann, die behalten wird){ab0}
qualifiziert sich sowieso .{hi}
auch zu funktionieren, ist kürzer (4 Zeichen) und qualifiziert sich auch für alle Boni. (Scheint, das Skript wird aus irgendeinem Grund{i
ausgewertet{i
...){i
produziert eine zusätzliche schließende lockige für michHQ9 + - 4 * 7,5 * 0,8 = 24 Punkte
Immer noch ein Quin mit jedem zweiten Charakter:
... und jeder fünfte:
Entschuldigung, ich konnte nicht widerstehen. :)
quelle
HTML / Markdown, 4 * 7,5 = 30
Ich gebe zu, das ist lahm, aber es verstößt nicht wirklich gegen eine Regel in der Frage. Abgesehen davon, dass HTML / Markdown möglicherweise nicht als echte Programmiersprache angesehen wird.
quelle
5555
funktioniert nicht, weil es kein alphabetisches Zeichen hat! / bin / sh
Ich mochte die qwr-Lösung so sehr, dass ich schamlos einen Port für die POSIX-Shell erstellt habe. Bitte speichern Sie es nicht in einem Dateinamen, der Leerzeichen enthält.
Beginnen Sie mit dem Entfernen bei Zeichen 1 und zählen Sie die Zeilenumbrüche als Zeichen. Die zweite Quine ist natürlich:
Bitte stimme der Antwort von qwr zu!
quelle
Bash, 23
Newline ist ein Charakter!
Einige unordentliche Kommentare funktionieren so, dass, wenn jedes andere Zeichen ab dem ersten entfernt wird, der Kommentar zum Code und der Code zum Kommentar wird:
Nachdem alle anderen Zeichen ( einschließlich der neuen Zeile ) entfernt wurden:
quelle
Brainf ** k, 37 - 15% = 31,45
Missbrauch des tragbaren Brainfuck-Interpreters
Beginnen Sie mit dem Entfernen aus dem zweiten Zeichen.
quelle
B-C<D+E]F-GÿH<I<J<K<L<M<N<O[P.Q>R]
als Ausgabe, so dass einige Zeichen fehlen.HQ9 + T, - 4 * 0,8 = 3,2 Punkte
Es ist ein gültiges Quine (ish) und jedes zweite und fünfte Zeichen ein Quine. Ich konnte nicht widerstehen. . . .
quelle