Code-Golf Fließband

9

Hinweis: Diese Herausforderung hat nichts mit der tatsächlichen Assemblersprache zu tun.


Als Leiter von Code-Golf Factory Inc. müssen Sie eine Montagelinie erstellen, um einen bestimmten Code zu generieren. Heute hat der Vorarbeiter Sie gebeten, Quines zu produzieren.

Spezifikation:

Bei dieser Herausforderung besteht das Ziel darin, eine Quine so zu schreiben, dass ein geeigneter Unterabschnitt davon auch eine Quine ist.

Dies ist Code-Golf, also gewinnen die wenigsten Bytes (des Hauptprogramms). Standardlücken sind verboten, und sowohl das Hauptprogramm als auch der Unterabschnitt müssen echte Quines sein.

Der Unterabschnitt muss mindestens 2 Zeichen kürzer als das Hauptprogramm sein, was bedeutet, dass die Mindestpunktzahl 3 Byte beträgt.

Sie benötigen nur 1 Unterabschnitt Ihrer Wahl, um zu arbeiten.

Julian Lachniet
quelle
Muss dies für alle möglichen Unterabschnitte des Codes funktionieren?
Tyler
@ JulianLachniet Ich denke, der Teil, der geklärt werden muss, ist "ein Unterabschnitt Ihrer Präferenz ".
Erik der Outgolfer
9
Ich muss sagen, wenn ich eine Quine-Frage sehe, schließt mein Kopf sofort kurz.
Daniel

Antworten:

4

Gelee , 5 Bytes

”ṘṘ10

Probieren Sie es online aus!

Der Unterabschnitt ”ṘṘist auch eine Quine. Probieren Sie es online aus!

Erik der Outgolfer
quelle
Das Hauptprogramm ist kein echtes Quine.
Undichte Nonne
1
@LeakyNun Nun, es ”ṘṘist eine echte Quine und die Definition einer echten Quine ist, dass ein Teil Ihres Codes einen anderen Teil identifiziert , in diesem Fall ”Ṙden anderen . Ich glaube nicht , die zugegebenen 10macht das ”Ṙdie andere nicht identifiziert mehr.
Erik der Outgolfer
2

Alice , 13 Bytes

"!&d<@o&dh.##

Probieren Sie es online aus!

Dies ist auch eine Quine:

"!&d<@o&dh.

Probieren Sie es online aus!

Dadurch wird das Standard-Quine geändert, indem der Stapel gelöscht wird, bevor die entsprechende Zeichenfolge verschoben wird, und anhand der Stapelhöhe bestimmt wird, wie viele Bytes ausgegeben werden sollen. Dadurch kann am Ende ein No-Op hinzugefügt werden.

Nitrodon
quelle
0

Python 2, 60 Bytes

Dies ist eine wirklich einfache Antwort, daher gibt es wahrscheinlich eine kürzere. Dies ist nur die Standard-Python-Quine zweimal. Die nachfolgende Newline ist erforderlich.

_='_=%r;print _%%_';print _%_
_='_=%r;print _%%_';print _%_

Probieren Sie es online aus

mbomb007
quelle
0

Spaltung , 35 Bytes

O abcdefghijklmnopqrstuvwxyz '#_OR"

Probieren Sie es online aus!

Ein Atom beginnt sich Rrichtig zu bewegen. Der "Druckmodus wird umgeschaltet, sodass alles umbrochen und gedruckt wird, bis es "erneut auftritt . Dies stoppt den Druckvorgang und setzt die Masse des Atoms auf die Anzahl der gedruckten Zeichen (34). Es wickelt sich wieder um und Ozerstört das Atom und druckt das ASCII-Zeichen, das durch seine Masse dargestellt wird ".

Dies enthält die einfache Fission Quine,

'#_OR"

Probieren Sie es online aus!

Hier '#setzt die Masse des Atoms auf den ASCII - Wert #(35), und _dekrementiert es so , dass die ODrucke ein Anführungszeichen.

Spaltung , 8 Bytes

'#_O  R"

Da das obige einfache Quine bei beginnt Rund endet O, kann Quine beliebiger Länge trivial durch Hinzufügen von Zeichen zwischen den beiden erstellt werden.

KSmarts
quelle