Dies ist ein Bullen-und-Räuber, wenn Sie nicht mit dem Format vertraut sind. Klicken Sie auf das Tag, um zum Wiki zu gelangen. Es wird keinen Räuberfaden für diese Frage geben.
Bullen
Als Cops müssen Sie zwei Sequenzen aus der Online-Enzyklopädie der ganzzahligen Sequenzen auswählen und ein Programm schreiben, das das n-te Element einer Sequenz als Eingabe verwendet und das n-te Element der zweiten Sequenz ausgibt. Anschließend geben Sie eine Antwort einschließlich des Codes und lassen die ausgewählten Sequenzen aus. Räuber werden versuchen, die Sequenzen zu finden, die Sie ausgewählt haben. Wenn Sie die Sequenzen finden, die Sie sich vorgestellt haben, oder einige andere Sequenzen, für die Ihr Programm Ihre Antwort als geknackt markieren muss . Wenn ein Räuber Sie mit einem Riss informiert, von dem Sie glauben, dass er nicht gültig ist, können Sie einen Beweis vorlegen, dass es sich nicht um einen Riss handelt. Ansonsten müssen Sie es so markieren.
Laut den üblichen Antworten, die seit 7 Tagen nicht geknackt wurden, können sie als sicher eingestuft werden. Ein Cop kann seine Antwort als sicher markieren, indem er die Sequenzen aufdeckt, an die er gedacht hat. Sobald eine Antwort sicher ist, kann sie nicht mehr geknackt werden.
Das Ziel ist es, die Anzahl der Bytes Ihres Programms zu minimieren, während Sie ungerissen bleiben.
Beispiel
Der folgende Python-Code übersetzt das n-te Element von A000290 (die quadratischen Zahlen) in A000217 (die dreieckigen Zahlen):
lambda x:sum(range(0,int(x**.5+1)))
Bestimmungen und Anforderungen
Wenn Sie eine Sequenz auswählen, deren Endlichkeit nicht nachgewiesen wurde, müssen Sie alle Begriffe ausgeben, die möglicherweise nicht nur auf der OEIS-Seite aufgeführt sind
Als Ausnahme zu den vorherigen Regeln müssen Sprachen ohne Ganzzahlen mit unendlicher Genauigkeit keine Zahlen außerhalb ihres Bereichs ausgeben oder eingeben.
Die Größe Ihrer Eingabesequenz darf nachweislich nicht kleiner als die Ausgabesequenz sein.
Ihre Eingabesequenz darf keine Wiederholungselemente enthalten (ansonsten ist die Aufgabe so gut wie unmöglich).
Das OEIS enthält einen Index auf seiner Seite (die erste Zahl nach dem "OFFSET" -Header). Dies ist standardmäßig Ihr Offset für n (n entspricht dem Index für das erste Element in der Sequenz), wenn Sie einen anderen Index auswählen, den Sie in angeben müssen Deine Antwort.
Wenn Sie einen anderen Versatz als den im OEIS aufgelisteten auswählen, müssen Sie dennoch alle Elemente in Ihrer Eingabesequenz dem entsprechenden Element in Ihrer Ausgabesequenz zuordnen.
Wenn Ihr Programm eine Eingabe erhält, die nicht in der Eingabereihenfolge enthalten ist, kann es tun, was es will (undefiniertes Verhalten). Es ist jedoch wahrscheinlich in Ihrem besten Interesse, weiterhin eine Ganzzahl auszugeben.
Es ist unsportlich, absichtlich die Ausführung Ihres Codes zu erschweren, sei es durch zeitaufwändige Ausführung oder durch unfreie Sprachauswahl . Während ich letztere durchsetzen werde, kann ich erstere nicht objektiv durchsetzen. Ich bitte Sie jedoch, es nicht zu versuchen, um Spaß zu haben, da dies die Herausforderung speziell für diejenigen mit schwächeren Computern erschwert.
Räuber
Deine Aufgabe als Räuber ist es, ungerissene, unsichere Antworten auszuwählen und die Sequenzen zu finden, zwischen denen sie liegen. Wenn Sie eine Lösung finden, die funktioniert (nicht unbedingt die von der Polizei beabsichtigte Lösung), kommentieren Sie die Sequenzen zu der entsprechenden Antwort.
Räuber sollten sich nicht zu sehr darum kümmern, zu überprüfen, ob zwei bestimmte Sequenzen eine Lösung sind. Sie sollten eine Lösung veröffentlichen, wenn sie mit allen Einträgen in OEIS übereinstimmt. Wenn dies nicht die Reihenfolge ist, an die ein Polizist gedacht hat, kann der Polizist den Beweis erbringen, dass es falsch ist, oder ihn als geknackt markieren, wenn er keinen findet.