Diese Frage, die uns auffordert, ein "Cyclic Levenquine" herzustellen, ist unbeantwortet geblieben . Deshalb werden wir heute nach einer etwas einfacheren Version fragen. In dieser Herausforderung definieren wir ein K- Levenquine als ein Programm, dessen Ausgabe der Levenshtein-Abstand K von seiner Quelle ist.
Aufgabe
Ihr Ziel bei dieser Herausforderung ist es, ein Programm zu schreiben, dessen Ausgabe sich von der eigenen Quelle unterscheidet. Das Ausführen dieser Ausgabe als Programm sollte dasselbe tun. Schließlich muss die Reihenfolge des wiederholten Ausführens der Ausgaben jedes aufeinanderfolgenden Programms (in derselben Sprache) schließlich das ursprüngliche Programm ausgeben.
Wie bei der letzten Herausforderung müssen in diesem Zyklus zwei unterschiedliche Programme vorhanden sein, so dass sie keine zwei Bytes gemeinsam nutzen (dh ihre Bytesätze sind disjunkt).
Wie bei den meisten Quine- Herausforderungen ist das Lesen des eigenen Quellcodes verboten.
Wertung
Jedes Programm in Ihrem Zyklus wird sein , K -Levenquine für einige K . Das größte K aller Programme in Ihrem Zyklus ist Ihre Punktzahl. Ihr Ziel sollte es sein, diese Punktzahl zu minimieren, wobei 1 die optimale Punktzahl ist.
quelle
Antworten:
> <> , Punktzahl: 41
und das disjunkte Programm
Probieren Sie es online aus!
Eine Kopie meiner Antwort auf die Frage " Quine" , die sich gegenseitig ausschließt . Ein sich gegenseitig ausschließender Quine besteht aus zwei Programmen, wobei A und B keine gemeinsamen Zeichen haben, wobei A B und B A ausgibt. Dies bedeutet, dass es sich um ein 2-Zyklus-Levenquine handelt und sich auch für diese Frage qualifiziert. Dies kann als Grundlage für andere erfinderischere Antworten dienen (obwohl ich nicht sehr sicher bin, dass dies nicht den Weg der ursprünglichen Levenquine-Frage gehen wird).
Eine ausführlichere Erklärung finden Sie hier .
quelle