Golfkette (Polizistenfaden)

13

Dies ist eine Herausforderung für Bullen und Räuber. Für den Faden Robbers, gehen hier .

Die Cops haben drei Aufgaben.
1) Wählen Sie eine Sequenz aus dem OEIS .

2) Wählen Sie eine Sprache (dies wird als Golflang vorgeschlagen, muss aber nicht sein), die bei Eingabe die nAusgabe A(n)(wobei A(n)die Reihenfolge gewählt wird) nach allen üblichen Regeln vornimmt .
Rufen Sie diese Sprache L A und Code C A .
Zum Beispiel Jelly und Jelly_code .

3) Wählen Sie dann eine andere Sprache (dies wird als Nicht-Golflang-Sprache vorgeschlagen, muss es aber nicht sein) und schreiben Sie Code, der keinen Eingabe- und Ausgabecode C A enthält , und folgen Sie dabei wiederum allen üblichen Regeln. . (Anmerkung: dieser Code verschleiert werden kann und muss nicht unbedingt golfed werden, aber je länger dieser Code ist , desto leichter wird es für die Räuber Ihre Vorlage zu knacken)
Rufen Sie diese Sprache L B und Code C B .
Zum Beispiel Python und Python_code .

Das Vorbringen der Cop auf diese Herausforderung ist die Sequenz (angegeben , ob 0- oder 1-indexiert), der Name der beiden Sprachen L A und L B (und die löst man die Teil) und die Byte-Zählung C B nur. Bewahren Sie den tatsächlichen Code beider Teile und die Länge von C A geheim auf.

Für die Cop, Links zur Dokumentation für L A und L B oder ein Interpreter (oder ein TIO Link, da diese sowohl umfassen), ist erwünscht , aber nicht erforderlich.

Die Herausforderung des Räubers besteht darin, einen Cops-Eintrag auszuwählen und den Code C C in derselben L B -Sprache zu schreiben , die einen Code in derselben L A -Sprache ausgibt , die die ursprüngliche OEIS-Aufgabe löst. Die Länge von C C kann nicht länger sein als die Länge von C B, wie vom Cop festgestellt (obwohl sie kürzer sein kann). Hinweis: Der von C C erzeugte Code muss nicht mit C A übereinstimmen .

In unserem Beispiel bedeutet dies, dass der Räuber Python- Code schreiben muss , der Jelly- Code ausgibt , der die ursprüngliche OEIS-Sequenz löst, und dass der Python- Code nicht länger als die vom Cop angegebene Länge sein darf.

Gewinnbedingungen

Bei Antworten, die seit einer Woche nicht mehr geknackt wurden, können ihre Lösungen veröffentlicht werden. Ab diesem Zeitpunkt gelten sie als sicher . Beachten Sie, dass eine Lösung, die Sie nach einer Woche nicht enthüllen, immer noch geknackt werden kann. Der Cop mit der kürzesten sicheren Antwort gewinnt.

AdmBorkBork
quelle
Erinnert mich an codegolf.stackexchange.com/q/128065/46066
juniorRubyist
Halten wir die OEIS-Sequenz geheim?
juniorRubyist
@juniorRubyist Nein, der Cop muss angeben, welche Sequenz er verwendet hat und ob sie 0- oder 1-indiziert ist.
AdmBorkBork

Antworten:

3

OEIS A000041 , geknackt von ETHproductions

Versuchen wir es anders herum: Golflang erzeugt Nicht-Golflang.

a (n) = Anzahl der Partitionen von n (die Partitionsnummern).

  • a (n) (0-indiziert) wird von einer JavaScript- Funktion zurückgegeben (ES6)
  • Das Programm, das die JS-Funktion ausgibt, ist in Jelly geschrieben
  • Die Länge des Jelly-Programms beträgt 35 Bytes

Beabsichtigte Lösung

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

was

JS ausgibt :C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1

Arnauld
quelle
Rissig . Das hat sehr viel Spaß gemacht, obwohl ich anscheinend ein paar Stunden verloren habe :-)
ETHproductions
@ETHproductions Schön! Meine JS-Lösung verwendete einen eingeschränkten Zeichenbereich, sodass sie auf der Jelly-Seite als Ganzzahl zur Basis 28 komprimiert werden kann.
Arnauld
@ETHproductions Mann, ich hätte mehr Zeit darauf verwenden sollen, den JS-Code zu optimieren. Hier ist eine 31-Byte- Lösung. ¯ \ _ (ツ) _ / ¯
Arnauld
2

OEIS A048272 , geknackt von DJMcMayhem

Anzahl der ungeraden Teiler von n minus Anzahl der geraden Teiler von n (1-indiziert).

  • Das Programm, das a (n) ausgibt, ist in 05AB1E geschrieben .
  • Das Programm, das das 05AB1E-Programm ausgibt, ist in Brain-Flak + dem -AFlag geschrieben.
  • Die Länge des Brain-Flak - Programms ist 198 Bytes (die Byte - Zählung ist nicht umfasst das Flag).

Beachten Sie, dass ich das Brain-Flak-Programm wahrscheinlich problemlos mit Stack-Manipluation-Tricks und anderen mir bekannten Kolmogorov-Komplexitätstricks spielen könnte, aber ich wollte dies als meine erste Einreichung einfach halten. Viel Glück, Räuber!

Was ich vorhatte

05AB1E: ÑÈD<)O(O

Brain-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})

Mr. Xcoder
quelle
Gebrochen
DJMcMayhem
@DJMcMayhem :( Ich bin gerade fertig
HyperNeutrino
@DJMcMayhem Schön! Ich werde es als nächstes etwas härter versuchen.
Mr. Xcoder
2

OEIS 000035 , geknackt von Betseg

Das Problem ist in Proton gelöst .
Der Proton-Code wird von Python ausgegeben .
Die Länge des Python-Programms beträgt 13 Bytes .

Wirklich einfach für den Anfang (wenn Sie Proton kennen: D). Null indexiert.

Vorgesehene Lösung

Python: print("(2%)")
Proton: (2%)
Obwohl ich mich entschlossen habe zu lassenn=>n%2 kurz genug zu sein, weil Verknüpfungen für dyadische / monadische Funktionen nicht dokumentiert sind.

HyperNeutrino
quelle
7
Wirklich einfach, wenn Sie eine Sprache kennen, die scheinbar keine Dokumentation enthält. Ja, großartig.
Peter Taylor
3
Warum ist der Link zu A34 ...
user202729
geknackt
betseg
@ user202729 behoben danke
HyperNeutrino
@PeterTaylor genau Null gibt es genug für Sie, um es zu lösen ...
HyperNeutrino
2

OEIS A000034 ( geknackt von H.PWiz)

1, 2, 1, 2, 1, 2, 1, 2,…

Periode 2: Wiederholung [1, 2]; a (n) = 1 + (n mod 2).

a (n) ist die Ausgabe einer Haskell- Antwort, die die Ausgabe einer 32-Byte- Malbolge- Antwort ist.

Lynn
quelle
Gebrochen
H.PWiz
1

OEIS A055642 , geknackt von Lynn

Anzahl der Nachkommastellen von n

Das ist wahrscheinlich zu einfach, aber es hat eine Weile gedauert, also hoffe ich, dass jemand da draußen genauso enttäuscht ist wie ich, als ich es endlich herausgefunden habe: D

Was ich vorhatte:

Sgals 05AB1E-Code
Sg\byeals TeX-Code

Simon Klaver
quelle
1
@Lynn ja. Wie enttäuscht waren Sie?
Simon Klaver
1

OEIS A000668 , geknackt von Lynn

Mersenne-Primzahlen (von Form 2 p -1, wobei p eine Primzahl ist)

  • a (n) wird von einem Jelly- Full-Programm ausgegeben .
  • n ist 1-indiziert.
  • Das Jelly-Programm wird von einem Triangularity- Programm gedruckt , dessen Länge 38 Bytes beträgt .

Andere Strategie: Löse die Sequenz in einem Golflang und gib das Programm in einem Esolang aus.

Beabsichtigte Lösung

Mr. Xcoder
quelle
Sind Sie sicher, dass die Länge korrekt ist? Die Dokumentation besagt, dass ein Triangularity-Programm eine Länge haben muss, 2*n^2 - 1die nicht 38 sein darf.
Lynn
1
@Lynn Dies bezieht sich auf die Anzahl der Zeichen , nicht auf die Anzahl der Bytes .
Mr. Xcoder