Es ist Anagram Quine, nicht nur Quine!


10

Die Aufgabe

Bei dieser Herausforderung besteht Ihre Aufgabe darin, ein Programm zu schreiben, das keine Eingaben enthält, und so viele Anagramme wie möglich zu erstellen.

Ihre Punktzahl ist die Anzahl der Anagramme des Quellcodes Ihres Programms, bei denen es sich um gültige Quines handelt, geteilt durch die Gesamtzahl der möglichen Anagramme, dh der Prozentsatz der Anagramme, bei denen es sich um gültige Quines handelt.

Es gelten Standardlücken und Regeln für Standardquines .

Hinweis: Ihr Programm muss mindestens 3 Zeichen (nicht 3 Byte) enthalten.


Eingang

Jedes Anagramm (oder jede Permutation) Ihres Programms, das für sich genommen eine Quine ist (dh die Anagramme, die Sie in Ihre Partitur aufnehmen), darf keine Eingabe enthalten. Wenn für Ihre Sprache eine Eingabe erforderlich ist, können Sie davon ausgehen, dass Ihr Programm eine Zeichenfolge erhält, die aus dem Kleinbuchstaben A besteht. Sie dürfen die Eingabe jedoch in keiner Weise verwenden.


Ausgabe

nDie Anzahl der unterschiedlichen Anagramme im Quellcode Ihres Programms muss eine gültige Quine sein, wobei ndie Anzahl der Anagramme steht, die Sie in Ihre Partitur aufnehmen, d. h

Mathematische Gleichung

Diese Quine-Anagarams können auf jede andere Weise ausgegeben werden, außer wenn die Ausgabe in eine Variable geschrieben wird. Das Schreiben in eine Datei, eine Konsole, einen Bildschirm usw. ist zulässig. Funktion returnist ebenfalls erlaubt.


Bewertungsbeispiel

Angenommen, der Quellcode Ihres Programms lautet code. Und,

  1. codeAusgänge code.
  2. coedAusgänge coed.
  3. cdoeAusgänge cdoe.
  4. cdeoAusgänge cdeo.
  5. cedoAusgänge cedo.
  6. ceodAusgänge ceod.
  7. ocdeAusgänge ocde.
  8. ocedAusgänge oced.
  9. odceAusgänge odce.
  10. odecgibt keinen odecFehler aus oder erzeugt ihn.
  11. oedcgibt keinen oedcFehler aus oder erzeugt ihn.
  12. oecdgibt keinen oecdFehler aus oder erzeugt ihn.
  13. docegibt keinen doceFehler aus oder erzeugt ihn.
  14. doecgibt keinen doecFehler aus oder erzeugt ihn.
  15. dcoegibt keinen dcoeFehler aus oder erzeugt ihn.
  16. dceogibt keinen decoFehler aus oder erzeugt ihn.
  17. decogibt keinen decoFehler aus oder erzeugt ihn.
  18. deocgibt keinen deocFehler aus oder erzeugt ihn.
  19. eodcgibt keinen eodcFehler aus oder erzeugt ihn.
  20. eocdgibt keinen eocdFehler aus oder erzeugt ihn.
  21. edocgibt keinen edocFehler aus oder erzeugt ihn.
  22. edcogibt keinen edcoFehler aus oder erzeugt ihn.
  23. ecdogibt keinen ecdoFehler aus oder erzeugt ihn.
  24. ecodgibt keinen ecodFehler aus oder erzeugt ihn.

Die Punktzahl dieser Lösung wird sein

Mathematische Gleichung


Gewinnkriterium

Die Lösung mit der höchsten Punktzahl gewinnt! Bei einem Unentschieden gewinnt die Antwort mit höherer Zeichenanzahl (nicht Bytezahl) (daher das )! Wenn ein Unentschieden weiterhin besteht, gewinnt die zuvor veröffentlichte Lösung!



@NeilA. Ich bin viel sicherer, dass ein rotationssicheres Quine tatsächlich in anderen Sprachen als Unary geschrieben werden kann (obwohl nicht in vielen Sprachen und es wird immer noch schwierig sein).
Martin Ender

Es ist wahrscheinlich zu spät, um die Spezifikationen jetzt zu ändern, aber Sie sollten wahrscheinlich angegeben haben, dass das ursprüngliche Programm nicht zählt, da dies ansonsten im Wesentlichen ein Duplikat unserer Vanille-Quine-Frage zu sein scheint.
SuperJedi224

Antworten:


7

Unär, 100%

Dies ist im Wesentlichen dasselbe wie die Antwort von Lenguage, da die beiden miteinander verwandt sind. Ich denke, es ist jedoch erwähnenswert. Ich habe es als 100% bewertet, weil jede Permutation des Codes zu einer Quine von sich selbst führt und ich sehe das als X / X * 100 = 100%.

5.71728886e + 3431 Nullen. Die vollständige Nummer finden Sie in diesem Snippet:

Das Brainf * ck-Äquivalent befindet sich in diesem Snippet:

Quelle der Quelle


Herzlichen Glückwunsch zum Gewinn! :)
Arjun

1
@Arjun Danke, aber die Legrange-Antwort war die erste und hat die gleiche Punktzahl. Es sollte stattdessen gewinnen.
Ingenieur Toast

@EngineerToast Ich meine, es ist mir egal, es ist CW, also nein +15: P
Christopher

4

Linguage, 100%

5.71728886e + 3431 Null-Bytes. Die vollständige Nummer finden Sie in diesem Snippet:


@ETHproductions hat es behoben. Ich denke ich gewinne
Christopher

Würde diese Ausgabe 5.71728886e + 3431 Null- Bytes oder etwas anderes ausgeben ?
ETHproductions

@ETHproductions Ja, ich denke.
Christopher

CW gemacht, weil ich möglicherweise nicht da bin, um dies zu entfernen: P
Christopher

@Christopher Sie sollten die genaue Anzahl der Bytes angeben, damit diese dekodiert werden können. Es gibt derzeit keine Möglichkeit zu sagen, was dies bewirkt.
Ad-hoc-Garf-Jäger


2

Microscript II, Score 1/1814399 = 5,5e-7

"qp1h"qp1h

"qph1"qph1 ist auch eine Quine.

Microscript II, Score 5/119750399 = 4,2e-8

"qp12h"qp12h

"qp21h"qp21h, "qph12"qph12, "qph21"qph21, "qp1h2"qp1h2Und "qp2h1"qp2h1 sind auch quines.

Ich bin sicher, dass jemand eine viel höhere Punktzahl als beide erzielen kann, aber dies ist immer noch die einzige Antwort mit mindestens einem Quine, der nicht das ursprüngliche Programm ist (das, IMO, nicht gezählt werden sollte).


1

V , 16,666 ...%

2i2i

Probieren Sie es online aus!

Es gibt 6 mögliche Anagramme dieses Codes:

2i2i
22ii
i22i
i2i2
ii22
2ii2

Und einer von ihnen ist eine Quine.


Ich bin nicht sicher, ob das ursprüngliche Programm als Anagramm für sich selbst gelten sollte, aber das OP scheint es zuzulassen.
SuperJedi224
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.