Anagram Quines (Räuberfaden)

10

Dies ist ein die Cops in Frage stellen kann Thema finden Sie hier

Ihre Herausforderung als Räuber besteht darin, Ausgaben aus dem Thread der Polizei zu entnehmen und Anagramme der Ausgabe zu finden, die, wenn sie als Programm ausgeführt werden, die ursprünglich bereitgestellte Ausgabe ausgeben.

Der Gewinner ist die Person mit den meisten gültigen Rissen in dieser Frage.

Regeln

  • Sie dürfen mit einem bereitgestellten Programm keine als sicher gekennzeichneten Antworten knacken.

  • Wenn ein Polizist eine Sprache bereitstellt, in der sich die beabsichtigte Lösung befindet, müssen Sie sie in dieser bestimmten Sprache knacken. Wenn er sich dagegen entscheidet, können Sie sie in einer beliebigen Konkurrenzsprache knacken.

  • Es gelten die Standardregeln für Quines.

  • Risse dürfen keine perfekten Quines sein. dh sie dürfen nicht ihre genaue Quelle ausgeben, sondern eine Neuordnung (die Bestellung wird vom Polizisten bereitgestellt).

Ad-hoc-Garf-Jäger
quelle
Eng verwandt
James

Antworten:

5

Nicht spezifizierte Sprache (CJam), 254 Bytes, DJMcMayhem

0000000: 3235 362c 583e 3130 2d5b 445d 2f41 612a  256,X>10-[D]/Aa*
0000010: 3a63 6523 0102 0304 0506 0708 090b 0c0e  :ce#............
0000020: 0f10 1112 1314 1516 1718 191a 1b1c 1d1e  ................
0000030: 1f20 2122 2425 2627 2829 2b2e 3334 3738  . !"$%&'()+.3478
0000040: 393b 3c3d 3f40 4243 4546 4748 494a 4b4c  9;<=?@BCEFGHIJKL
0000050: 4d4e 4f50 5152 5354 5556 5759 5a5c 5e5f  MNOPQRSTUVWYZ\^_
0000060: 6062 6466 6768 696a 6b6c 6d6e 6f70 7172  `bdfghijklmnopqr
0000070: 7374 7576 7778 797a 7b7c 7d7e 7f80 8182  stuvwxyz{|}~....
0000080: 8384 8586 8788 898a 8b8c 8d8e 8f90 9192  ................
0000090: 9394 9596 9798 999a 9b9c 9d9e 9fa0 a1a2  ................
00000a0: a3a4 a5a6 a7a8 a9aa abac adae afb0 b1b2  ................
00000b0: b3b4 b5b6 b7b8 b9ba bbbc bdbe bfc0 c1c2  ................
00000c0: c3c4 c5c6 c7c8 c9ca cbcc cdce cfd0 d1d2  ................
00000d0: d3d4 d5d6 d7d8 d9da dbdc ddde dfe0 e1e2  ................
00000e0: e3e4 e5e6 e7e8 e9ea ebec edee eff0 f1f2  ................
00000f0: f3f4 f5f6 f7f8 f9fa fbfc fdfe ff0a       ..............

Probieren Sie es online aus!

Wie es funktioniert

256,                Push the range [0 ... 255].
    X>              Remove the first item (0).
      10-           Remove 10 (0x0a).
         [D]/       Split at occurrences of 13 (0x0d).
             Aa*    Join, separating by 10 (0x0a).
                :c  Cast all integers to character.
                e#  Begins a comment, terminated by the linefeed at the very end.
Dennis
quelle
5

Brain-Flak , Riley

()((((((()()()){}){}){})()){}{}){({}[()][((((((()()()()()){}){}){})()))]{})}{}((()()()){}()){({}[()][((((((()()()){}){}()){({}[()])}{})()()))]{})}{}((((()()()()){}){}()){}){({}[()][((((((((()()()()()){}){}){}())){}{})()()))]{})}{}

Probieren Sie es online aus!

Erläuterung

Das war etwas einfacher als ich erwartet hatte.

Ich habe 3 separate Schleifen geschrieben, um jede Art von Zahnspange zu drucken:

(((((()()()){}){}){})()){}{}){({}[()][((((((()()()()()){}){}){})()))]{})}{}
((()()()){}()){({}[()][((((((()()()){}){}()){({}[()])}{})()()))]{})}{}
((((()()()()){}){}()){}){({}[()][((((((((()()()()()){}){}){}())){}{})()()))]{})}{}

Ich habe die Standard-Mini-Flak-Technik verwendet, um die Verwendung von <...>Monaden zu vermeiden, und um ehrlich zu sein, hatte ich nie wirklich das Bedürfnis, die <>Nilad zu verwenden.

Dies muss sehr ähnlich zu dem gewesen sein, was Riley an erster Stelle getan hat, denn als ich fertig war, hatte ich noch einen Rest ()übrig. Dies ist kein Problem, da ()es sich im Wesentlichen um ein No-Op auf der obersten Ebene handelt, sodass ich es an die Vorderseite meines Programms geklebt habe.

Ad-hoc-Garf-Jäger
quelle
1
Genau das / wie ich es geschrieben habe. Ich brauchte das Extra (), um alles zusammenzubringen. Gut gemacht!
Riley
4

Haskell, 107 Bytes, Laikoni

main=print$id=<<['|':[d]>>[d|i<-"$$'''',--..:<<<<====>>[[[[]]]]addddddiiiiiimnnprt|||",i==d]|d<-id['$'..]]

Plus eine nachfolgende Newline.

Probieren Sie es online aus! (Die Ausführung dauert einige Sekunden, da alle Unicode-Zeichen durchlaufen werden.)

Das Programm hat ein id(kurz davor ['$'..]), das für die Programmlogik nicht benötigt wird, aber irgendwie muss ich das iund ausgeben d.

Nimi
quelle
Die Ausgabe erfolgt nicht in derselben Reihenfolge.
Laikoni
1
@ Laikoni: Ich habe die Herausforderung falsch verstanden. Jetzt ist es behoben.
Nimi
4

Python, 96 Bytes, Agargara

f= 'B7ofx)wdr0o{1{6{{r){1x0sD00qF1{{24}wr2wlo)y))xm2'; print''.join([r+chr(ord(r)-9)for r in f])

Probieren Sie es online aus!

Als ich bemerkte, dass sich einige Zeichen paarweise wiederholten, ging es nur darum, eine geeignete ASCII-Karte zwischen den Zeichen zu finden.

Mathe-Junkie
quelle
Herzliche Glückwünsche! Genau so habe ich es geschrieben.
Agargara
3

Pyth, 32 Bytes, Rod

J+"J+J=JJ 1-2#pTN%"N #%2J=T-1pJJ

Probieren Sie es online aus!

Ich kenne Pyth nicht so gut, aber ich begann mit dem Drucken der erforderlichen Ausgabe und ging von dort aus.

 +"J+J=JJ 1-2#pTN%"N             # Add a '"' to the string in quotes
J                                # Assign result of above step to J
                     #           # Start an infinite loop
                      %2J=T-1    # Loops one iteration, then breaks
                                 # (I have no idea why this works)
                             pJ  # Explicitly print J
                               J # Implicitly print J
Mathe-Junkie
quelle
2

CJam, 46 Bytes, Business Cat

93]_:c58]99]95]93]e__:c36]95]95]101]101]e_$_:c

Probieren Sie es online aus!

93]                                             # Push [93] onto the stack
   _                                            # Copy
    :c                                          # Push ascii char 93 ']'
      58 99 95 93                               # Push these numbers...
        ]  ]  ]  ]                              # Push entire stack as array
                  e__                           # Flatten and copy
                     :c                         # Map ascii values to all elements
                       36]95]95]101]101]        # Same as above
                                        e_      # Flatten
                                          $     # Sort
                                           _    # Copy, implicitly print
                                            :c  # Map ascii values to all elements
                                                # Implicitly print
Mathe-Junkie
quelle