Ligne d'assemblage Code-Golf


9

Remarque: ce défi n'a rien à voir avec le langage d'assemblage réel.


En tant que responsable de Code-Golf Factory Inc. , vous devez créer une chaîne de montage pour générer un morceau de code spécifique. Aujourd'hui, le contremaître vous a demandé de réaliser des quines.

Spécification:

Dans ce défi, le but est d'écrire une quine de telle sorte qu'une sous-section appropriée soit également une quine.

Il s'agit de code-golf, donc le moins d'octets (du programme principal) l'emporte. Les failles standard sont interdites et le programme principal et la sous-section doivent être de véritables quines.

La sous-section doit être au moins 2 caractères plus courte que le programme principal, ce qui signifie que le score minimum est de 3 octets.

Vous n'avez besoin que d'une sous-section de votre choix pour travailler.


Est-ce que cela doit fonctionner pour toutes les sous-sections possibles du code?
Tyler

@JulianLachniet Je pense que la partie à clarifier est "une sous-section de votre préférence ".
Erik the Outgolfer

9
Je dois dire que chaque fois que je vois une question Quine, ma tête court-circuite immédiatement.
Daniel

Réponses:



4

Gelée , 5 octets

”ṘṘ10

Essayez-le en ligne!

La sous ”ṘṘ- section est également une quine. Essayez-le en ligne!


Le programme principal n'est pas une vraie quine.
Leaky Nun

1
@LeakyNun Eh bien, ”ṘṘc'est un vrai quine et la définition d'un vrai quine est qu'une partie de votre code identifie une autre partie , dans ce cas, l' ”Ṙidentifie l'autre . Je ne pense pas que l'ajout ne 10fasse ”Ṙplus identifier l'autre .
Erik the Outgolfer



2

Alice , 13 octets

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

Essayez-le en ligne!

C'est aussi une quine:

"!&d<@o&dh.

Essayez-le en ligne!

Cela modifie le quine standard en effaçant la pile avant que la chaîne appropriée ne soit poussée et en utilisant la hauteur de la pile pour déterminer le nombre d'octets à afficher. Cela permet à tout no-op d'être ajouté à la fin.


0

Python 2, 60 octets

C'est une réponse vraiment simple, donc il y en a probablement une plus courte. C'est juste le quine Python standard deux fois. La nouvelle ligne de fin est requise.

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

Essayez-le en ligne


0

Fission , 35 octets

O abcdefghijklmnopqrstuvwxyz '#_OR"

Essayez-le en ligne!

Un atome commence à Rvoyager à droite. Le "mode d'impression bascule, donc il s'enroule autour et imprime tout jusqu'à ce qu'il rencontre à "nouveau. Cela arrête l'impression et définit la masse de l'atome sur le nombre de caractères imprimés (34). Il s'enroule à nouveau, Odétruit l'atome et imprime le caractère ASCII représenté par sa masse, qui est ".

Il contient le simple quine de Fission,

'#_OR"

Essayez-le en ligne!

Ici, '#définit la masse de l'atome sur la valeur ASCII de #(35) et la _décrémente de sorte que le Oimprime un guillemet.

Fission , 8 octets

'#_O  R"

Puisque le quine simple ci-dessus commence à Ret se termine à O, n'importe quel quine de longueur peut être créé de manière triviale en ajoutant des caractères entre les deux.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.