Linha de montagem Code-Golf

9

Nota: Esse desafio não tem nada a ver com a linguagem assembly real.


Como chefe da Code-Golf Factory Inc. , você deve criar uma linha de montagem para gerar uma parte específica do código. Hoje, o capataz pediu que você produzisse quines.

Especificação:

Nesse desafio, o objetivo é escrever um quine de modo que uma subseção adequada também seja um quine.

Isso é código-golfe, então o menor número de bytes (do programa principal) vence. As brechas padrão são proibidas e o programa principal e a subseção devem ser verdadeiros quines.

A subseção deve ter pelo menos 2 caracteres a menos que o programa principal, o que significa que a pontuação mínima é de 3 bytes.

Você só precisa de 1 subseção de sua escolha para trabalhar.

Julian Lachniet
fonte
Isso precisa funcionar para todas as subseções possíveis do código?
Tyler
@JulianLachniet Acho que a parte que precisa ser esclarecida é "uma subseção de sua preferência ".
Erik the Outgolfer
9
Devo dizer que sempre que vejo uma pergunta sobre Quine, minha cabeça imediatamente entra em curto-circuito.
Daniel

Respostas:

4

Gelatina , 5 bytes

”ṘṘ10

Experimente online!

A subseção ”ṘṘtambém é uma solução. Experimente online!

Erik, o Outgolfer
fonte
O programa principal não é um verdadeiro problema.
Leaky Nun
11
@LeakyNun Bem, ”ṘṘé um verdadeiro quine e a definição de um verdadeiro quine é que uma parte do seu código identifica outra parte , nesse caso, ”Ṙa outra . Eu não acho que o adicionado 10faça com que o ”Ṙnão se identifique mais.
Erik the Outgolfer
2

V , 13 bytes

ñÉÑ~"qpx:2i2i

Experimente online!

A subseção 2i2itambém é uma solução.

James
fonte
2

Alice , 13 bytes

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

Experimente online!

Isso também é uma solução:

"!&d<@o&dh.

Experimente online!

Isso modifica o quine padrão limpando a pilha antes que a cadeia relevante seja pressionada e usando a altura da pilha para determinar quantos bytes serão gerados. Isso permite que qualquer no-op seja adicionado no final.

Nitrodon
fonte
0

Python 2, 60 bytes

Esta é uma resposta muito simples, portanto provavelmente há uma resposta mais curta. Este é apenas o padrão Python quine duas vezes. A nova linha à direita é necessária.

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

Experimente online

mbomb007
fonte
0

Fissão , 35 bytes

O abcdefghijklmnopqrstuvwxyz '#_OR"

Experimente online!

Um átomo começa a Rviajar certo. O "modo de impressão é alternado, de modo que envolve e imprime tudo até encontrar "novamente. Isso interrompe a impressão e define a massa do átomo para o número de caracteres impressos (34). Ele envolve novamente, Odestrói o átomo e imprime o caractere ASCII representado por sua massa, que é" .

Ele contém o quine simples de fissão,

'#_OR"

Experimente online!

Aqui, '#define a massa do átomo para o valor ASCII de #(35) e o _diminui para que ele Oimprima aspas.

Fissão , 8 bytes

'#_O  R"

Como o quine simples acima começa Re termina em O, qualquer quine de comprimento pode ser criado trivialmente adicionando caracteres entre os dois.

KSmarts
fonte