Sie müssen eine Folge von 10 Programmen schreiben p1 p2 ... p10
, die die folgenden Eigenschaften erfüllen:
pK
drucktpK+1
fürK
1 bis 9p10
drucktp10
- Wenn die ersten
K
Programme verkettet werden, wird das resultierende Programmp1...pK
gedrucktp1...pK
. - Jedes Programm
pK
muss größer als das vorherige seinpK-1
. - Alle Programme müssen in derselben Sprache sein.
- Eingebaute Quining-Funktionen (zB
Q
in vielen Sprachen) sind erlaubt.
Ihre Punktzahl ist die Summe der Bytezahlen der 10 Programme. Da es nur zehn Programme gibt, müssen Sie Ihre Codes so kurz wie möglich halten. Viel Glück.
code-golf
sequence
quine
code-generation
Conor O'Brien
quelle
quelle
Antworten:
Im Ernst, 245 Bytes:
Alle zehn Programme verkettet:
Es gibt unsichtbare Zeichen, die beim Ausführen sichtbar werden, eine seltsame Eigenschaft von Byte 7F. Die nachgestellten Zeilenumbrüche in jedem Programm sind erheblich. Tatsächlich hängt Seriously automatisch Zeilenumbrüche an die Ausgabe an, unabhängig davon, ob Sie dies möchten oder nicht. Dies zählt nur die Anzahl der Zeilenumbrüche in der Ausgabe und sobald diese Zahl 8 überschreitet, wird das letzte Zeichen der Ausgabe gelöscht. Als solches
p1..pK
wirdp1..pK
für alle K> 4 gedruckt .quelle
Q
den Quellcode des Programms überträgt .JavaScript (ES6), 985
Ich habe die Regeln früher falsch verstanden, daher war meine vorherige Antwort falsch.
In diesem Fall wird das Funktion-Heben anstelle des variablen Hebens verwendet, sodass es nicht von Programm 10 abhängt. Ich denke, es ist eine Quine für jede Kombination von zwei oder mehr verketteten Programmen.
Haftungsausschluss: Im Moment ist es sehr spät, daher kann alles völlig falsch sein.
quelle
alert
wegen der Funktionsausgabe brauchen .Javascript ES6, 1935 Bytes
Zehn Programme:
quelle
(\S)+
und die Ersetzung verwenden$0$1
, um einige Bytes zu sparen?𝔼𝕊𝕄𝕚𝕟 2, 214 Zeichen / 334 Bytes
Try it here (Firefox only).
Erläuterung
Das Programm zählt die Suche nach 9 Leerzeichen in einer Reihe, was der Anzahl der führenden Leerzeichen im 10. Programm entspricht. Wenn es eine Übereinstimmung findet, wird der Quellcode ausgegeben; Andernfalls wird der durch ein Leerzeichen angeführte Quellcode ausgegeben.
quelle