Diese Herausforderung hat zwei Themen. Das ist der Faden der Bullen. Der Räuberfaden befindet sich hier .
Ihre Herausforderung besteht darin, eine OEIS- Sequenz zu wählen und zwei vollständige Programme in zwei verschiedenen Sprachen zu schreiben , die das n-te Element in der Sequenz erzeugen, wenn Sie ein n über STDIN oder eine andere Form der Standardeingabe erhalten, wobei n eine beliebige positive Zahl ist. Ihre beiden Programme müssen jedoch Anagramme sein, dh, sie können aus den Buchstaben des anderen neu angeordnet werden.
Programme müssen die Dezimalzahl gefolgt von einem optionalen Leerzeichen an STDOUT ausgeben. Programme können nach STDERR ausgegeben werden, sie sollten jedoch ignoriert werden. In diesem Fall muss eindeutig angegeben werden, dass dies der Fall ist.
Auf Wunsch können Sie auch per Zeichencode ausgeben. Wenn Sie dies jedoch in Ihrer versteckten Lösung tun, müssen Sie dies im Hauptteil Ihrer Einreichung angeben.
Anschließend legen Sie die OEIS-Nummer, den Quellcode und den Namen einer Sprache vor, in der es sich befindet.
Räuber knacken Ihre Einreichung, wenn sie ein Anagramm der ursprünglichen Einreichung finden, das in einer anderen Sprache als der von Ihnen bereits vorgelegten abläuft. Um eine Antwort zu knacken, müssen sie nur eine Sprache und ein Programm finden, die die Sequenz produzieren und ein Anagramm des Originals sind, nicht unbedingt die Antwort, über die Sie nachgedacht haben.
Auf diese Weise erhalten Sie Anreize, es so schwierig wie möglich zu machen, eine Sprache, die die Aufgabe erfüllt, anhand ihrer Symbolliste zu finden.
Wertung
Dies ist Code-Golf, daher ist das kürzeste ungeknackte Programm der Gewinner.
Sprachen
Sprachen werden als unterschiedlich betrachtet, wenn die beiden vorgeschlagenen Lösungen die Aufgabe nicht in beiden Sprachen erfüllen. Dies schließt verschiedene Versionen derselben Sprache ein , solange weder die Lösung des Polizisten noch die Lösung des Räubers die korrekte Ausgabe in der Sprache des anderen erzeugen.
Dh wenn es zwei Lösungen 1 und 2 gibt, die in Sprache A und B sind, muss Lösung 2 nicht die richtige Ausgabe in Sprache A produzieren und Lösung 1 muss nicht die richtige Ausgabe in Sprache B produzieren.
Sicherheit
Sobald Ihre Einreichung eine Woche lang nicht geknackt wurde, können Sie Ihre Lösung veröffentlichen und Ihren Beitrag für sicher erklären. Wenn Sie nach einer Woche keine Lösung veröffentlichen, ist Ihre Antwort möglicherweise immer noch geknackt.
quelle
Antworten:
Python 2, 118 Bytes, A042545GebrochenIch hatte keine Lust, eine triviale Sequenz zu implementieren, deshalb habe ich mich für meine PPCG-Benutzer-ID entschieden. Ich schrieb dies zuerst in der anderen Sprache, was Ihnen einen Hinweis darauf geben sollte, was diese Sprache ist, obwohl ich 100 Dollar wetten würde, dass dies in einer Golfsprache geknackt wird, bevor es in der beabsichtigten anderen Sprache geknackt wird.
Hinweis: Aufgrund von Gleitkomma-Genauigkeitsfehlern ist dies nur bis zu einer Eingabe von 14 genau. Die beabsichtigte Lösung ist dieselbe.
Geplante Lösung, JavaScript (ES7)
Funktioniert ziemlich genau wie die Python-Lösung, obwohl die Sequenz zuerst am größten und nicht zuerst am kleinsten gespeichert wird, da JS die negative Indizierung nicht unterstützt.
quelle
16
ist tatsächlich 53000053, aber danach scheint es keine passenden Begriffe zu geben. Ich frage mich, warum ...|()
, konnte es aber einfach nicht bekommen!Brain-Flak, 24 Bytes, A000290 , sicher
Noch eine quadratische Lösung. Dieses Mal gibt es nichts als Klammern
Die beabsichtigte Lösung war Brain-Flueue , eine Version von Brain-Flak, die Warteschlangen anstelle von Stapeln verwendet. Das Programm war:
Die Sprachen werden als unterschiedlich betrachtet, da keines der beiden Programme angehalten wird, wenn es in der anderen Sprache ausgeführt wird.
quelle
((([{}{}{]]}[)))((){))(}
Python 2, 38 Bytes, A000290Von Emigna geknacktDies wird wahrscheinlich sehr leicht zu knacken sein. Ich poste dies meistens als Ausgangspunkt.
Orignial Lösung in CJam:
quelle
CJam , 7 Bytes, A005843Gebrochen!Dies ist eine
2*n
Grundsequenz.Erläuterung:
Probieren Sie es online!
Ursprüngliche Lösung, Karotte
Karotte ist ein von mir kreierter Esolang. Ich habe vor langer Zeit aufgehört, es zu entwickeln. Der Grund, warum ich mich dafür entschieden habe, war die Hoffnung, dass es für andere Sprachen schwierig sein würde, die unnötigen Teile des Codes zu kommentieren.
Erläuterung:
Probieren Sie es online!
quelle
ri#e^*2
würde in Jelly funktionieren, wenn*
Multiplikation statt Potenzierung wäre. So nah dran ...r
in Pyth. Aufregend, den Originalcode für diesen zu sehen.2sable , 15 bytes, A000290, Gebrochen!Hüpfen im selben Zug n 2 : p.
Probieren Sie es online!
quelle
Brain-Flak, 44 Byte, A000290GebrochenProbieren Sie es online!
Ursprüngliche Lösung, Python 2
quelle
len
set
input
und seheprint
(und weil ich weiß, dass Sie Python mögen), aber ich kann nicht herausfinden, wie das eine ZahlExcel, 12 Bytes, A000012GebrochenVielleicht nicht die härteste, aber es macht Spaß, sie zu knacken.
quelle
Python 2, 25 Bytes, A000583 , geknackt
Dieses Programm wird nach dem Drucken der Ausgabe mit einem Fehler beendet.
Mein versteckter Code (wesentlich anders als die geknackte Lösung!):
Eigentlich 25 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Python, 118 Byte, A042545 , Sicher
Diesmal funktioniert es sowohl in 2 als auch in 3. Und es gibt keine Kommentare! Was wirst du machen?
Hinweis: Wie bei der alten Lösung geht die Genauigkeit nach den ersten 15 Termen aufgrund von Gleitkomma-Rechenfehlern verloren.
Geplante Lösung, JavaScript (ES6)
Obwohl ich mehrere alte Versionen behielt, gelang es mir, diese Kopie zu verlieren , aber glücklicherweise war es nicht allzu schwierig, sie aus den anderen zusammenzusetzen. Ich sehe jetzt, dass ich
prt
in beiden Programmen ein Fremdwort hatte, das hätte ausgespielt werden können. Naja.quelle
Python 2, 124 Byte, A144945 , [Sicher]
Wenn Sie dies geknackt hätten, hätten Sie 500 Wiederholungsprämien erhalten! Zu spät!
Ich hoffe es ist nicht zu einfach. Ich habe meinen Code so angeordnet, dass das Leerzeichen deutlich sichtbar ist. Das sind nur Leerzeichen und Zeilenumbrüche.
Hinweis: Die Ausgabe der beabsichtigten Lösung erfolgt über einen Zeichencode
Probieren Sie es online aus
Vorgesehene Lösung, Headsecks :
Dies entspricht dem folgenden BF-Programm:
quelle
Fuzzy Octo Guacamole, 26 Byte, A070627 [Sicher]
Testfälle:
Lösung:
Arbeitet in Magistack.
quelle
Pyth, 75 Bytes, A004526Gebrochen, MilchMehr ein spielerischer Test als alles andere, aber:
Probieren Sie es online!
Milchlösung (konvex):
Probieren Sie es online aus
Vorgesehene Lösung (///):
Probieren Sie es online aus
Übernimmt die Eingabe in Form von 2en vor dem letzten Semikolon und gibt die korrekte Anzahl von Qs aus.
Die Sequenz ist 0-indiziert (dh 0 ist 0, 1 ist 0, 2 ist 1, ...)
Fand leichte syntaktische Fehler in den ///, so bearbeitete alle Lösungen.
quelle
MATL, 7 Bytes, A000217 , geknackt
Die Sequenz ist
n(n+1)/2
(Dreieckszahlen), am Eingang beginnend ,n=1
wie durch die Herausforderung angegeben:1
,3
,6
,10
, ... (Ausgang für die Eingabe0
ist nicht das gleiche in den beiden Programmen sein garantiert).Das Programm in der anderen Sprache wird mit einem Fehler beendet (nachdem die korrekte Ausgabe in STDOUT erstellt wurde).
Probieren Sie es online!
quelle
x:ps{}1
Python 2, 37 Bytes, A000290Gebrochenquelle
Python 3, 27 Bytes, A000012, GebrochenDiesmal keine Eingabe!
Die Einrückungen sind Tabulatoren, aber nicht zum Speichern von Bytes - sie werden für Leerzeichen benötigt.
Ich denke nicht, dass es einen TIO-Link oder eine Erklärung braucht!
(Wahrscheinlich wird es nicht lange dauern, in irgendeiner Weise zu knacken)
Beabsichtigte Antwort (Leerzeichen):
(Start und Ende nicht Teil des Programms)
Entschuldigung, ich habe vergessen hinzuzufügen, dass es auf STDERR gedruckt wird:
Probieren Sie es online!
quelle
Fuzzy Octo Guacamole , 11 Bytes, A001844 [Sicher!]
Ein Riss, der funktioniert, ist
dh*h++^2*0a
in Pyth. Es ist jedoch nicht das richtige Ausgabeformat.Mein Code ist immer noch da draußen! (und es ist nicht in Pyth)
Testfälle:
Lösung:
In Jolf.
quelle
d
...WinDbg, 39 Bytes, A000007Gebrochen von jimmy23013Die schwierige Folge von
0**n
.Die Eingabe erfolgt durch Übergabe eines Wertes im Pseudoregister
$t0
.Meine ursprüngliche Lösung war C #:
quelle
JavaScript ES6, 38 Byte, A000290 , Gebrochen
Dieser quadratische Zug ist ziemlich geschickt, fährt aber nicht überall schnell. (Holen Sie es? Square Train? Wie in, Räder? Nein? Okay, gut. Kritiker .)
Beabsichtigte Antwort: Reticular ( Online ausprobieren ! ),
quelle
MATL , 13 Bytes, A002275Gebrochen!Probieren Sie es online!
Erläuterung:
quelle
2sable , 13 bytes, A002378, Gebrochen!In der Hoffnung, dass ich nichts verpasst habe. Berechnet a (n) = n × (n + 1) :
Meine Version:
Oder die entfaltete Version:
Beachten Sie, dass das
>
in der oberen linken Ecke nicht verwendet wird (mit Ausnahme des 2sable-Programms). Ich habe das getan, um die Räuber zu verwirren (aber das hat offensichtlich nicht funktioniert, haha).Probieren Sie es online!
quelle
2sable, 15 Bytes, A087156
Probieren Sie es online aus
Die Folge nicht negativer Zahlen mit Ausnahme von 1.
quelle
Befunge 93 , 14 Bytes, A121377 ,Von Milchgeknackt!Unterhaltsame Tatsache: Die beabsichtigte Lösung für dieses Problem ist das erste Mal, dass ich diese Sprache verwendet habe.
Meine Lösung in Pyth. & @ drucke einen Fehler, aber das geht an STDERR, der laut OP ignoriert wird.
quelle
Python 2, 35 Byte, A048735 , Sicher
Die ursprüngliche Lösung war in meiner eigenen Programmiersprache Wise .
Die meisten Charaktere sind irrelevante No-Ops. Die wichtigen Charaktere sind die ersten sechs.
:
Erstellt zwei Kopien des ersten Elements auf dem Stapel.<<>
Das Bit wird zweimal nach links und einmal nach rechts verschoben, was einer Bitverschiebung nach links entspricht.&
Nimmt das bitweise und des oberen und zweiten Elements (das Original und die bitverschobene Kopie). Das letzte>
Bit verschiebt sich einmal nach rechts.quelle
05AB1E, 5 Byte, A000012 , Sicher
Folge von Einsen. Probieren Sie es online aus
Beabsichtigte Lösung: Arcyou
Probieren Sie es online aus . Ich konnte keine Dokumentation für diese Sprache finden, daher habe ich keine Erklärung, wie es genau funktioniert.
quelle
1
und;
.Python 2, 70 Bytes, A000217Gebrochen!Ich habe das Gefühl, dass dies in der Sprache, die ich für die andere Version verwendet habe, nicht geknackt wird, wir werden sehen :)
Ich bemerkte später, dass ich den Code falsch verschleiert hatte (dies ändert nichts an der Gültigkeit der geposteten Antwort). Hier ist der Code, mit dem ich in Haystack angefangen habe:
quelle
05AB1E , 9 Byte, A000042Gebrochen!Dies ist die unäre Darstellung natürlicher Zahlen (OEIS). Wenn also die Eingabe
3
zum Beispiel wäre, dann wäre die Ausgabe111
.Erläuterung:
Probieren Sie es online!
Ursprüngliche Lösung, Karotte
Erläuterung
Der
*
multipliziert den String mit der(n+1)
Zeit, so dass sicha^*3
ergibtaaaa
und nichtaaa
. Deshalb habe ich1
von der Eingabe abgezogen .Erst jetzt merke ich, dass das
)
in beiden Sprachen irrelevant war: DProbieren Sie es online!
quelle
J, 2 Bytes, A000290 , Gebrochen
Nun, könnte genauso gut anfangen für diese zwei Bytes. Ausbeuten n × n oder n 2 .
beabsichtigte Lösung, Jolf, 2 BytesGut. Ja. Dies ist meine eigene Sprache, und ich denke, sie funktioniert, weil sieUps.~
nach einem erweiterten Charakter sucht, aber keinen findet. Deshalb ignoriert sie ihn einfach. ¯ \ _ (ツ) _ / ¯quelle
ABCR , 24 Bytes, A023443Gebrochen!Es gibt eine Menge No-Ops. Berechnet
n - 1
.quelle
05AB1E, 8 Bytes, A000042 , Gebrochen
Testfälle:
quelle
Ouroboros , 6 Bytes, A000012GebrochenGibt immer aus
1
.quelle