Vamos usar a realidade aumentada para caçar pequenas criaturas escondidas no código-fonte. Escreva um programa quine que produza sua própria fonte de código, exceto 5 caracteres consecutivos que serão modificados e que exibirão um PCG-mon :(^_^)
Os 5 caracteres consecutivos podem ser posicionados em qualquer lugar do código fonte (da posição 0
até n-5
, n
sendo o comprimento do código fonte). O código fonte deve ter um comprimento mínimo de 5 caracteres. A cadeia de caracteres (^_^)
ou qualquer uma de suas substring de comprimento> = 2 não deve aparecer no código-fonte inicial, apenas na saída.
Exemplo de envio válido:
- código fonte
my source code
, saídamy (^_^)e code
Inválido:
- código fonte
(^_^) copy;
, saída(^_^) (^_^)
Critérios de vitória
O código mais curto em bytes vence.
(^_^)
com um código-fonte com menos de 5 caracteres? talvez com codificação específica ...G
produz a saídaabcdefghijklmnopqrstuvwxyz
.Respostas:
Javascript ES6, 44 bytes
Resultado:
Ainda trabalhando no golfe, mas funciona por enquanto.
fonte
=_=
$=_=>`(\^\_\^\)${($+'').slice(3)};$()`;$()
isso (na verdade, parece ainda melhor, porque agora parece que você está acordando um rosto adormecido). :)Vim,
33, 27 pressionamentos de teclaObserve que
<C-v>
significa ctrl + v, e é byte0x16
e<esc>
é o caractere de escape e é byte0x1B
.Isso apenas usa uma versão levemente modificada do meu Golf, uma solução excelente! responda.
Saídas:
Isso é válido, pois
^V
é o modo como o vim representa<C-v>
e^[
é o modo como o vim representa<esc>
.A idéia básica é apenas inserir o texto
(^_^)
por seus pontos de código, para evitar colocar esses caracteres no código-fonte. No modo de inserção,<C-v>number
irá inserir o caractere ASCII de "número". No entanto, já que o desafio diz:Esta resposta abusos a regra "substring" Por apenas digitando os codepoints dos
^
personagens, e entrando(
,_
e)
diretamente.Aqui está um gif que permite ver esta solução em ação e coloca o código fonte e a saída lado a lado para comparação:
fonte
^
caractere de controle ... +1CJam ,
1311 bytesIntérprete online (-2 bytes graças a @MartinEnder) .
fonte
Python,
115111107 bytesA chamada
f()
e a saída são:Inspirado em parte por esta resposta a uma pergunta semelhante .
fonte
CJAM,
1615 bytesExperimente aqui .
fonte
Go (golang), 131 bytes
Esse desafio deve ter uma resposta no Go!
Experimente online!
fonte
JavaScript (ES6), 91 bytes
Já existe uma resposta JavaScript, mas não existe uma resposta JS que não seja de leitura da fonte:
Isto é baseado na minha resposta que não é de leitura da fonte ao Golf you a quine for great good! . Saídas
Isso pode ser modificado facilmente, movendo-se o segundo
%s
na string. Por exemplo,saídas
fonte
Gelatina , 22 bytes
Disponível em TryItOnline
Usa o quine integrado com capacidade de carga útil.
“ØV”ṘV
No
abc
final, apenas o preenchimento a ser substituídob³
converte o número inteiro na base 100, resultando em[40,94,95,94,41]
Ọ
projeções em caracteres, resultando em(^_^)
Portanto, todo o resultado é
“4094959441b³ỌØV”(^_^)
fonte
C # 5.0, 715 bytes
Eu sei, isso é enorme. Só queria adicionar uma solução C #.
A saída é:
Disponível em Ideone.com
fonte
MATL , 14 bytes
Produz a saída
')_`_*i'(^_^)h
.Experimente online!
Explicação
fonte
Bash, 178 bytes
Pfff, não sou bom em quines: / Qualquer sugestão de golfe é mais do que bem-vinda! :-)
fonte