Wie gut kennst du die Seite? Lass es uns herausfinden.
Dies ist eine Herausforderung für Bullen und Räuber . Räuberfaden.
Als Polizist müssen Sie:
- Suchen Sie auf dieser Website nach einer nicht gelöschten, nicht geschlossenen Aufforderung, die beantwortet werden soll. Die Herausforderung kann nicht die folgenden Tags enthalten: Bullen und Räuber , Beliebtheitswettbewerb , Code-Trolling , hinterhältig , beschäftigt-Biber , König des Hügels , Tipps , Verkettung der Antworten . Die Challenge muss Einschränkungen bezüglich der gültigen Ausgabe haben.
- Schreiben Sie eine gültige Einsendung für die Challenge in einer freien Sprache auf Wikipedia oder esolangs.org oder tryitonline . Die Einsendung muss nicht wettbewerbsfähig sein, sondern nur gültig. BEARBEITEN: Hashing in Ihrem Beitrag ist nicht erlaubt
- Veröffentliche den Beitrag hier und halte die Herausforderung geheim. Sie müssen den gesamten Beitrag sowie die Sprache (und ggf. die Version) posten.
Wenn nach einer Woche niemand die von Ihnen beantwortete Frage gefunden hat, können Sie die Frage posten, auf die Ihre Eingabe antwortet. Zu diesem Zeitpunkt ist Ihre Eingabe sicher . Es ist N Punkte wert, wobei N die Anzahl der Upvotes für die Challenge ist (Stand: 17.11.2016 ) (Höher ist besser)
Um Ihre Herausforderung zu knacken, muss ein Räuber eine Herausforderung finden, für die die Vorlage eine gültige Vorlage ist.
Anmerkungen:
- Wenn eine Herausforderung eine Leistung von erfordert
X
, und Sie AusgangXY
oderYX
woY
ist etwas anderes als Leerzeichen, ist die Vorlage für diese Herausforderung nicht gültig. - Eine Herausforderung, die neuer als der 17.11.2016 ist, ist nicht zulässig.
- Sprachen, die neuer sind als die versteckte Herausforderung, sind erlaubt.
- Ich behalte mir das Recht vor, bestimmte Einwände zu verbieten, wenn sie allgemein anwendbar sind (könnte auf die Mehrheit aller Einwände angewendet werden).
- Vielen Dank an Daniel für die erste Idee!
Nicht geknackte Einsendungen:
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 100357;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
cops-and-robbers
obfuscation
Nathan Merrill
quelle
quelle
Antworten:
Pip , 9 Bytes ( sicher , 15 Punkte)
Was es tut, sollte leicht herauszufinden sein, aber die Frage ist, warum ... ( TIO )
Die Herausforderung war: Was ist die Sprache? Das Ziel: Analysieren Sie den Namen der Programmiersprache aus einem PPCG-Antwortheader. Zum Beispiel:
Ich bin nicht sicher, ob dies gegen "Die Herausforderung muss Einschränkungen für die gültige Ausgabe haben" verstößt, da es sich um eine Test-Batterie- Herausforderung handelt, die durch "Prozent der Tests, die Sie korrekt durchführen" bewertet wird , und daher keine korrekte Ausgabe erforderlich ist für alle eingaben. Ich werde jedoch sagen, dass der obige Code ungefähr 60% der korrekten Rate erhält, was für etwas so Einfaches nicht schlecht ist.
quelle
ht:w"\w+"1
/@:w"\w+"1 1
, was sich aufhtcw
/ verringert,htcz
wenn nur Whitespace wichtig ist, aber keines dieser Ergebnisse liefert . Dies wäre auch in der Lage, Minuten aus dem Format HH: mm: ss zu extrahieren oder einen Variablennamen aus einer Deklaration im C-Stil oder Zahlen nach einem Dezimalpunkt zu extrahieren. Aber ich kann keine Fragen finden, die für eines dieser Dinge fragen ...: /Perl - Gebrochen von DLosc
Lassen Sie uns ein einfaches für die Nicht-Esolang-Leute geben
Laufen Sie mit
-nl
Herausforderung: Praktischer Palindrome Checker
Der Code stürzt nach dem Drucken der Wahrheit ab, aber laut diesem Meta-Beitrag ist es eine gültige Lösung , solange die korrekte Ausgabe vor dem Absturz erfolgt und alle Fehler an STDERR ausgegeben werden.
quelle
Hexagony , 548 Bytes, Gebrochen
Probieren Sie es online!
quelle
.
für diese Herausforderung erforderlichePerl, sicher , 18 Punkte
Bearbeiten : Ich habe das Ende des Codes geändert (siehe Bearbeitungsverlauf), um einen Randfall zu behandeln (die Abfrage sagt nichts darüber aus, und der Autor hat nicht geantwortet, als er danach gefragt wurde, aber dieser Code behandelt es zumindest). . Der Algorithmus und die Logik des Codes bleiben jedoch gleich.
Dieser Code ist nicht verschleiert (nur Golf). (Dies bedeutet, dass dies
-n0E
nicht optional ist.)Ich weiß nicht, ob das schwierig ist oder nicht, aber ich denke, ich werde repariert, wenn jemand es knackt.
Erklärungen:
Die Herausforderung war Kann Labyrinth gelöst werden? .
Dieser Code findet jede erreichbare Zelle des Labyrinths (und markiert sie mit einem
A
): Wenn eine Zelle eine mit einem markierte Zelle berührtA
, ist sie erreichbar und wir markieren sie mit einemA
ebenfalls; und das machen wir nochmal (redo
). Dies geschieht dank zweier regulärer Ausdrücke:s/(^0|A)(.{@{+}})?0/A$2A/s
Überprüft, ob sich ein Leerzeichen rechts oder unten von einem befindetA
, währends/0(.{@{+}})?A/A$1A/s
überprüft wird, ob sich ein Leerzeichen links oder oben von einem befindetA
. Am Ende enthält , wenn die letzte Zelle , die einenA
es ist erreichbar, ansonsten ist es nicht (das ist , wassay/A$/+0
überprüft, der+0
hier ist , um sicherzustellen , dass das Ergebnis wird sein ,0
oder1
statt leeren String und1
).Beachten Sie, dass dies
/.*/
mit einer gesamten Zeile übereinstimmt und somit einstellt@+
zum Index des Endes der ersten Zeile, der zufällig die Größe einer Zeile hat, mit der.{@{+}}
genau so viele Zeichen gefunden werden können, wie in einer Zeile enthalten sind. (@{+}
entspricht,@+
kann aber nur in regulären Ausdrücken verwendet werden)Um es auszuführen:
(und wenn Sie die
1111011
Zeile durch ersetzen1111111
, ist sie nicht mehr lösbar und die Ausgabe erfolgt0
stattdessen1
)quelle
Perl, 56 Bytes, Sicher (14 Punkte)
Die Herausforderung war dies ein , die Sie auffordert , einen diffing Algorithmus zu schaffen; Sie müssen in der Lage sein, zwei Dateien einzugeben und ein Diff auszugeben, oder eine Datei und ein Diff einzugeben und die andere Datei auszugeben. Das Ergebnis dieser Herausforderung ist eine Code-Herausforderung , bei der der kleinste Unterschied zum Gewinner wird. Für diese Herausforderung ist es jedoch nicht erforderlich, dass die Antwort konkurrenzfähig ist, sondern einfach der Spezifikation entspricht. Deshalb habe ich stattdessen ein anderes Programm auf spielerische Weise geschrieben, bei dem die Eingaben einfach durch XOR kombiniert werden (dh, dasselbe Programm funktioniert für diffing und nicht abweichend).
Am schwierigsten ist es, die Länge der Originaldateien zu reproduzieren. Die Eingabe wird als ASCII-Zeichen angegeben. Dies ist ein 7-Bit-Zeichensatz, sodass ich das achte Bit verwenden kann, um die Länge der Datei zu verfolgen. Wenn wir differenzieren, setzen wir das High-Bit jedes Bytes mithilfe eines
y///
Befehls (der etwas mehr verschleiert ist als eine bitweise Arithmetik). Wenn die Differenzierung aufgehoben wird (dies wird dadurch erkannt, dass für den Eingang bereits das hohe Bit gesetzt ist), werden NULs aus dem Ausgang entfernt. (Ich habe gerade festgestellt, dass dies fehlschlagen würde, wenn die Eingabe NUL-Bytes enthalten würde. Die Herausforderung wird jedoch in Form einer Testbatterie definiert, und zum Glück glaube ich nicht, dass die Batterie NUL-Bytes enthält. Wenn ja, dann Dieses Programm wäre falsch und müsste disqualifiziert werden - ein Problem mit Bullen und Räubern ist, dass niemand sonst genug Informationen hat, um auf leicht zu behebende Fehler in Ihrer Antwort hinzuweisen!)quelle
Oktave, 15 Punkte! SICHER
Probieren Sie es hier online aus .
Erläuterung:
Der Code akzeptiert eine Eingabezeichenfolge
x
mit Einsen und Nullen10010110110101
sowie eine Ganzzahly
.So ermitteln Sie den gleitenden Durchschnitt einer Sequenz in MATLAB / Octave:
Da wir nur am Ort des Maximums interessiert sind, nicht an den tatsächlichen Werten, müssen wir uns nicht darum kümmern, den String in Zahlen umzuwandeln.
(x.^2)
quadriert alle ASCII-Werte48,49
für0,1
. Dies ist notwendig, da Octave keinecumsum
direkten Zeichen verwenden kann.cumsum(+x)
wäre zwei Bytes kürzer, würde aber offenbaren, dass diesx
eine Zeichenfolge ist.Das ist eigentlich ganz gut golfen (bis auf die
.^2
statt+
). Natürlich wäre die Faltung einfacher.quelle
MATL . Geknackt
Probieren Sie es online!
Ich habe Input und Output angegeben, auch wenn es nicht notwendig ist. Da es sowieso in der Bearbeitungshistorie ist: Das Programm gibt zwei Zahlen ein und gibt eine Zahl aus.
quelle
C #, 590 Bytes, Gebrochen
Wahrscheinlich ziemlich einfach, auch ein ziemlich langes Programm, _,
quelle
Func<string, int, string>
. Sieht so aus, als wäre es eine Tastaturverschlüsselung. Der Zahlenparameter gibt an, wie viele Zeichen auf der Tastatur nach rechts verschoben werden sollen (dh-("t",1)
=y
).05AB1E , 27 Bytes, geknackt!
Für diese Übermittlung ist auch eine Eingabe erforderlich, damit sie funktioniert. Sollte nicht zu schwer zu knacken sein.
Erklärung (für die Herausforderung):
Verwendet die CP-1252- Codierung. Probieren Sie es online!
quelle
아희 (Aheui) , 0 Bytes, Gebrochen
Probieren Sie es hier aus! (Das Programm ist bereits für Sie eingetippt: p)
quelle
Python, 935 Bytes
Tut mir leid, ich habe einen Verschleierer benutzt, aber es ist nicht verboten und viel einfacher. (Und ich hatte nicht die ganze Zeit, es selbst zu tun ...)
quelle
9**99
ohne dass irgendetwas gedruckt wird (es dauert auch sehr lange)Ruby ( geknackt von DLosc )
quelle
p
als ich den Code kopiert habe. Also geknackt .MATL . Sicher , 93 Punkte
Probieren Sie es online!
Erläuterung
Die Herausforderung war der ökologische Fußabdruck des Quellcodes .
Der Code berechnet das Hamming-Gewicht (Anzahl der Einsen) in der binären Darstellung der ASCII-Codes der Eingabezeichenfolge. mit der Ausnahme, dass die Zeichenfolge
test
ausgegeben wird0
(anstelle der Hamming-Gewichtung17
).Die spezielle Hülle dieser Saite ist etwas verschleiert. Das Programm berechnet zuerst das Array aufeinanderfolgender Unterschiede der ASCII-Codes der Eingabe und kehrt es um. Dafür
test
gibt es[1 14 -15]
.Dann wird das durch die ersten
n
Potenzen von gebildete Array14
berechnet ([1 14 196 ...]
), wobein
die Eingangslänge ist; und die erstenfloor(n/2)
Werte bleiben erhalten. Also für die Eingabetest
gibt dies[1 14]
. Die negierte Summe wird an dieses Array angehängt, das[1 14 -15]
zur Eingabe dienttest
. Dies wird auf Gleichheit mit dem zuvor erhaltenen umgekehrten Array aufeinanderfolgender Differenzen getestet.Andererseits wird die Summe der ASCII-Codes der eingegebenen Zeichen berechnet und verglichen
448
und als (aufeinanderfolgende) Differenz der Elemente im Array[2^6 2^9]
(wobei^
Leistung bezeichnet wird) erzeugt.Die Eingabe
test
ist die einzige Zeichenfolge mit umgekehrten aufeinanderfolgenden Differenzen von Form[1 14 -15]
und Summe448
. Differenzen[]
oder[1]
(für kürzere Inoyt-Strings) sind nicht kompatibel mit einer Gesamtsumme von448
. Unterschiede[1 14 196]
oder größer können mit ASCII-Zeichen nicht erreicht werden.Der Code prüft, ob das Ergebnis des Tests für die erste Bedingung (aufeinanderfolgende Differenzen) nicht kleiner ist als das negierte Ergebnis der zweiten Bedingung (Gesamtsumme). Dies ist
0
genau dann der Fall, wenn beide Bedingungen erfüllt waren. Schließlich wird dies mit der Anzahl der Einsen in der binären Darstellung der ASCII-Codes des Eingangs multipliziert.quelle
CJam ( sicher , 21 Punkte)
Dies ist ein anonymer Block (Funktion).
quelle
Python 3, ~ 2000 Bytes (sicher: 23 Punkte)
Ursprüngliches Programm
Herausforderung
Dies ist in der Tat eine Antwort auf meine eigene Herausforderung, Primenary Strings . Ich habe dies gewählt, da fast alles ausgegeben wird
0
, abgesehen von ein paar Eingaben, die ein Räuber wahrscheinlich nicht eingeben würde. Der Code ist ein einfacher Algorithmus, der jedoch (von Hand) stark verschleiert ist.quelle
Pip , 13 Bytes
Probieren Sie es online aus (geben Sie Input als Argumente ein, nicht Input).
quelle
JavaScript, 533 Bytes, Gebrochen! von Dave
Nicht meine Lieblingsverschleierung von mir, aber es ist ein bisschen ordentlich. Anrufen als
RESULT(inputs)
.Ich kann eine Prämie von +50 Punkten gewähren, wenn Sie im Detail erklären, was mein Code zusammen mit Ihrem Riss tut. (Sie müssen nicht zusammen sein, also wenden Sie sich an FGITW, wenn dies Ihren Wünschen entspricht.)
quelle
Pyke, 3458 Bytes, SAFE , 99 Punkte
Probieren Sie es hier aus!
Es gibt einige (30)
0x1b
Bytes, die anscheinend von SE gefressen wurden.quelle
Oktave, 40 Punkte. SICHER
Etwas verschleierte Antwort auf eine ziemlich beliebte Herausforderung.
Ich empfehle dies auf Octave-Online zu testen . Ideone ist nicht so gut, wenn es um STDIN geht.
Dies war die Hebel Simulator 2015 Herausforderung. Eingabe im Formular
'123^32
. Die Ausgabe erfolgt-1 0 1
für Left-Heavy, Balanced und Right-Heavy in dieser Reihenfolge.Es sieht so aus, wenn es voll bespielt ist :
Dies wird jeweils
-Inf, NaN, Inf
für L, B, R ausgegeben.quelle
Haskell, sicher
Probieren Sie es auf Ideone . "Verwendungszweck":
In der String Shenanigans Challenge erhält man einen String und zwei Zeichen und sollte dann jedes Vorkommen des ersten Zeichens durch das zweite ersetzen. Die Eingabe besteht jedoch nur aus einer Zeichenfolge, die die eigentliche Zeichenfolge in Anführungszeichen und die zwei durch Leerzeichen getrennten Zeichen enthält:
quelle
TeX, 240 Bytes, SAFE , Punktzahl 129
Speichern unter
jeopardy.tex
, dann ausführenpdftex jeopardy.tex
und öffnenjeopardy.pdf
.Ergebnis: ein PDF mit dem Text
N
(und der Seitenzahl 1).quelle
Python 3, geknackt!
Das zu schreiben war lustig, obwohl es am Ende leicht zu knacken war :)
quelle
(sum([x%4<1 for x in range(min(D),max(D))]))
Pyth - von Maltysen geknackt
Wenn es hilft, war Pyth keine der Antworten auf die versteckte Herausforderung.
Versuch es!
quelle
C #, 91 Bytes
quelle
Mathematica, 161 Bytes
quelle
BrainFuck - 140 Bytes, Cracked von daHugLenny
Probieren Sie es hier aus!
quelle
C ++ 14, geknackt
Nimmt eine unterschiedliche Anzahl von Parametern und gibt a zurück
vector<int>
.Verwendungszweck:
quelle
g++
und wenn deine Version nicht mindestens6.2
oder etwas ist, das du brauchst-std=c++14
Mathematica, 34 Bytes, Gebrochen
Benannte Funktion (
±
).quelle
Ruby, 50 Bytes
Ausgabe:
400
quelle
Python 2.7, 45 Bytes
Hinweis (oder vielleicht auch nicht): "Der Fisch benutzt Numpy."
23.11.2016 - Zweiter Tipp: "Lass nichts herumschweben !"
quelle