Escreva um programa que imprima seu próprio código fonte de trás para frente, ou seja, um eniuq .
Pontuação:
- +50 se você usar dados extraídos da Internet.
- +25 se você ler seu próprio código-fonte.
- +1 ponto por personagem
- Menor pontuação ganha.
Regras:
- Não é possível usar outros arquivos (por exemplo
reverse.txt
) - O comprimento mínimo do código é de dois caracteres.
- Seu programa não pode ser um palíndromo.
+10
pode ser entendido como "marcar como se tivesse 10 caracteres a mais do que realmente" ou "o código pode ter mais 10 caracteres que não ser pontuado "ou outras interpretações.Respostas:
GolfScript - 2
(ou seja,
\n1
onde\n
está o caractere de nova linha)Resultado:
(ie
1\n
)Para citar Ilmari :
Assim, uma nova linha seguida por um número imprimirá o número seguido por uma nova linha.
fonte
Hã? 5 caracteres
Na verdade, eu não faço ideia de como isso funciona, masse você baixar o intérprete e se você escreve!hcuO
, você obtémOuch!
Para executar isso, você precisa executar o programa como este:
Na verdade, ele procurará um arquivo chamado
!hcuO
, mas ele não existe, portanto, geraOuch!
fonte
huh?
direito, embora esteja tendo dificuldades para encontrar a documentação adequada. Parece que o uso deve serhuh.exe <path to source code>
eOuch!
é retornado para um caminho inválido. Tente colocar seu código em um arquivo real e alimente esse arquivo como argumentohuh?
e veja o que acontece. Também é interessante ver que ele gera umNotes.txt
arquivo com alguns comentários.Mathematica, 3 caracteres
a 2
significaa
vezes 2. Então a resposta é2 a
.fonte
1#
. A saída é#1
.H9 + , 13 caracteres
Como a página web diz, todos os caracteres que não são
H
,9
ou+
são ignorados, então meu programa irá imprimirHello, world!
fonte
Javascript: 34 caracteres
saídas
SyntaxError: Unexpected identifier
, pelo menos no console do Chromefonte
tnemetats erofeb ; gnissim :rorrExatnyS
=>SyntaxError: missing ; before statement
.Python,
4341fonte
Mathematica, 2 bytes
Saídas:
fonte
TI-BASIC, 2
Onde
i
está o número imaginário.Saídas
2i
fonte
BASIC,
22127 caracteres:-)
EDIT: Se você tiver permissão para entrar no programa no modo imediato, isso poderá ser reduzido para
rorre xatnyS
(12 caracteres).No BBC BASIC, você precisa apenas de 7 caracteres:
fonte
C ++ 472 caracteres
Muitos personagens, mas não consigo pensar em uma maneira mais simples em uma linguagem baseada em c.
fonte
bater
Comprimento: 31 caracteres.
sh
Comprimento: 29 caracteres.
Este não poderia funcionar em algumas distribuições Linux, mas funciona no OSX.
tcsh
Comprimento: 26 caracteres.
csh
Comprimento: 26 caracteres.
O vencedor é:
ksh
Comprimento: 21 caracteres.
Acima deve funcionar em todos os sistemas operacionais * baseados em unix.
fonte
dnuof
dnuof
instaladas (o que quer que seja). Malditos hackers.dnuof
? : D o que faz?GolfScript, 12 caracteres
Esse código pega a cadeia de caracteres entre aspas duplas
"-1%.`"
, a inverte (-1%
), a duplica (.
) e desvaloriza (`
) a segunda cópia, restaurando as aspas duplas ao seu redor.Entrada anterior (13 caracteres):
Baseado no quine
{'.~'}.~
de 8 caracteres desta resposta ; são necessários 5 caracteres extras para especificar e reverter a saída.Ps. Observe que o GolfScript anexa automaticamente uma nova linha ao final da saída. Se isso for contado como parte da saída, uma nova linha correspondente poderá ser anexada a qualquer versão do código sem afetar a saída, por um custo de um caractere extra.
fonte
Befunge 98-10 caracteres
Isso funciona se o seu intérprete não interpretar as linhas quebradas depois de
"
adicionar um espaço extra. Se o seu intérprete interpreta linhas quebradas assim, esta solução de 11 caracteres funciona ( porque os espaços duplicados em uma literal de cadeia de caracteres são interpretados como um ):Se eu puder usar
g
sem penalidade, eles também funcionarão (7 e 8 caracteres, respectivamente):e
fonte
Ruby, 60
Baseado em um clássico ruby quine.
fonte
Perl, 41
Resposta antiga de 52 caracteres (penalidade de 27 + 25)
Lê sua própria fonte, armazena o reverso em um escalar e imprime isso.
fonte
scalar
operador pode ser substituído por~~
. No entanto, você precisa adicionar +25 à sua pontuação para ler seu próprio código-fonte.$_='say"lave;\047",~~reverse,"\047=_\$"';eval
, mas sua solução é mais curto :-) Note que você pode golf para baixo a 39 caracteres usandosay
. Espero que você vai bater todos os estranheza esotérica :-)print
comsay
? Isso acaba não imprimindo nada.-Mfeature=say
opção?Fissão , 6 bytes
Um caso raro de uma quine generalizada com o mesmo comprimento da quine normal :
A idéia é a mesma do quine normal, mas estamos usando um átomo de esquerda (começando no
L
) para que o modo de impressão atravesse o código na ordem oposta.fonte
J: 26
Quining padrão (26 caracteres) : definindo uma função e passando sua própria definição, entre aspas:
Provavelmente poderia ser reduzido.
Específico para J (33 caracteres) : definindo uma variável e perguntando em qual arquivo a variável foi definida, ou seja, esta, e imprimindo o conteúdo desse arquivo:
Deve ser salvo e executado a partir de um script (ou seja, não no REPL, porque a resposta para a pergunta é "seu argumento não foi definido em um arquivo", portanto, não há arquivo para ler).
fonte
> <> , 25 bytes
Fiquei surpreso ao descobrir que isso ainda não havia sido feito. :)
Cole o código aqui e execute-o.
.
é o comando Jump, saltandox
ey
saindo da pilha e movendo o IP para(x, y)
na caixa de código. Nesse caso, a pilha está vazia, portanto, a única mensagem de erro do idioma é impressa:fonte
Microscript , 11 bytes
Eu meio que tive que fazer isso.
Surpreendentemente, isso é realmente mais curto do que o quine verdadeiro mais curto e conhecido da língua.
q
e,a
caso contrário, são equivalentes, exceto queq
adiciona citações de quebra automática enquantoa
não o faz.fonte
JQuery JavaScript
119927470 caracteresAgora, usando jQuery, como sugerido pela minitech nos comentários, e envolto manualmente com
<pre><code>
para que eu possa usartext()
sem medo de outros blocos de código neste post interferirem. O empacotamento manual<h4>
era incompatível com o chromeium quando o testei; agora, ele deve funcionar na maioria dos navegadores.Este programa, se executado a partir desta página, localiza o bloco de código diretamente acima, reverte seu conteúdo e o coloca em uma caixa de alerta.
É fácil verificar, basta colá-lo no console de desenvolvimento.
fonte
querySelector
qualquer maneira ...querySelector
agora. Gostaria de examinar a possibilidade do jQuery, mas parece que levará um pouco mais de tempo para eu descobrir.jQuery
dica. (Eu só comecei a aprender javascript ontem.)PHP, 41 caracteres (+25)
Não sei se entendi a tarefa corretamente. Mas aqui está uma tentativa de PHP:
edit: isso pode ser muito mais curto:
Mas, como pode ser assim tão simples, provavelmente não é isso que está sendo perguntado ...
fonte
>? ;)llun dna ))__ELIF__(f$(tilps_rts = s$( : )s$(pop_yarra ? )s$(tessi ohce )s$ || )s$(tessi!(elihw ;"stnetnoc_"=.f$ ;'teg_elif'=f$ php?<>?}};ESLAF nruter;"ec6x\i66x\02x\e47x\96x\rw
há muito mais). Além disso, inclua sua contagem de caracteres; este é um código de golfe. Além disso, parece que você está lendo seu arquivo de origem, então adicione 25 à sua contagem de caracteres e essa é sua pontuação. Menor pontuação ganha.array_pop
porarray_shift
para ver o código-fonte não ao contrário ...ESLAF nruter
iereturn FALSE
).MATLAB, 78 caracteres:
Observe que a solução exige que você comece com um caractere especial (alt + 0160) e imprima exatamente a mensagem invertida. (Diferente da solução python)
fonte
Shell UNIX, 31
Solução real com 52 caracteres:
Mas cuidado! A honestidade não compensa no mundo de hoje! A penalidade é muito baixa !!
6 caracteres + 25 = 31:
fonte
rev $0
gera o erro:rev: illegal option -- b
.MS-DOS, 24 bytes
Resultado:
fonte
JavaScript, 62
Funciona para mim no Chrome mais recente (v 31.0.1650.63). Alguns outros navegadores podem fornecer uma saída diferente. (Se você reverter essa saída, funcionaria: P)
fonte
SmileBASIC,
118102 bytesfonte
JavaScript, 56
fonte
CSS, 88 bytes
Coloque uma página html em branco para evitar conflitos com outras tags.
fonte
JavaScript,
53504643 bytesPor favor, ajude-me a diminuir isso.
fonte
q=_=>[...`q=${q}`].reverse().join``
funciona tão bem.Fuzzy Octo Guacamole, 4 bytes
K
imprime_UNK
,N
empurraNone
eU
empurra0
. E_
aparece o valor superior na pilha (mas não é impresso). Então, apenas_UNK
é impresso.fonte
K
saída_UNK
?