O gato do complemento


24

Objetivo Escreva um programa completo que produza (para STDOUT ou alternativa mais próxima) uma sequência arbitrária de texto, com no máximo 64 caracteres. Simples o suficiente, certo? Bem, aqui está o problema: você não pode usar nenhum caractere presente na saída da resposta anterior. Isso mesmo, nenhum deles.

Assim, você está tentando ser a última resposta por um total de três dias. Ou seja, você não quer que ninguém responda à pergunta nas 72 horas seguintes à publicação da sua pergunta.

Algumas regras

  • Sua resposta (e saída) pode conter apenas caracteres ASCII imprimíveis, novas linhas (retornos de carro incluídos) e guias.
  • A saída da sua resposta pode não ser a mesma que a saída de outra resposta. Duas saídas são iguais se e somente se usarem exatamente os mesmos caracteres.
  • Você pode usar qualquer idioma que não tenha sido feito especificamente para esse desafio, mesmo que tenha sido feito após o desafio. (Esse idioma, é claro, deve ser testável.)
  • Você não pode usar nenhum idioma usado anteriormente.
  • Sua entrada pode não incluir comentários. Você pode, é claro, fornecer um programa comentado extra.
  • Você não pode responder duas vezes seguidas.
  • Seu programa deve ter pelo menos 1 byte.

Formato da entrada

Sua resposta deve se parecer geralmente com o seguinte:

# {Language}
Uses: `characters present in the output`

Does not use: `characters used in the previous output` from [previous submission, language](link-to-previous-submission]

    {program}

Outputs:

    {output}

Uma explicação com sua resposta é apreciada.


3
Estou muito confuso sobre o que está sendo perguntado. Eu tenho que imprimir qualquer string de caractere <= 64 e não consigo usar os caracteres na saída do último envio?
21415 Lynn

11
@Mauris Sim, isso está correto.
Conor O'Brien

3
Ah ok; o pouco sobre o "espaço dos caracteres" é realmente confuso na IMO. Esse termo não significa nada ... Talvez você deva reescrevê-lo?
21415 Lynn

11
@question_asker Se ninguém conseguir encontrar uma resposta para seguir a sua, você vence o desafio (e recebe a marca de seleção verde). Por exemplo, se eu escrevesse um programa que produz todos os caracteres ASCII imprimíveis, seria impossível segui-lo (ignorando aquelas linguagens irritantes que geram saída para o programa vazio).
ThisSuitIsBlackNot

11
@question_asker Seu código não pode conter nenhum dos caracteres da saída da resposta anterior ; sua saída não pode usar o mesmo conjunto de caracteres que qualquer saída anterior. Se o código para a primeira resposta é fooe ele gera bar, o código para a próxima resposta não pode conter b, aou r; nenhuma resposta subsequentes podem saída abr, arb, bar, bra, rab, ou rba. (Sim, concordo que isso foi muito confuso.)
ThisSuitIsBlackNot 22/15/15

Respostas:


2

Rubi

$><<'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" '

Não usa abcdefghijklmnopqrstuvwxyz{}\~_^[]|`da resposta anterior .

Imprime e, portanto, usa ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", um espaço e uma nova linha.


5

Pyth

Usos: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg.

Não usa: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`abcdefghijklnsm{|}~de envio anterior no Octave .

Código:

pMCMryyTyyytytttT

Saída:

()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg

Existe um espaço lá? Acho que não há guias ou novas linhas que não são mostradas? Parece que a próxima resposta deve ser uma resposta em branco (ou pelo menos próximo) ...
Stewie Griffin

Nenhum espaço em branco na saída é meu; Eu não sei se o idioma acrescenta uma nova linha
Lynn

5

Brainfuck

Usos: -.

Não usa: !"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{| do CJam . Graças a SuperJedi

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

Saídas:

; (){}[]"'

2
Isso pode ser alterado para usar apenas -e .. Essa é a minha proposta para os propósitos do desafio.
precisa saber é o seguinte


2
Desculpe, entendi a usesparte como sendo essas as entidades usadas no código. Me dê um minuto antes de começar a usar votos negativos.
Seadrus

3

CJam

Usos: 0123456789:;_bc

Não usa: !GSaefgimnoprstuw, de submissão anterior, MATLAB

183185535513294435547695067785526290427932963043839368372854060721693597139131275368051870173845056551161192991350318233082749156998652_;128b:c

Saídas:

 !"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{|

Bem, não posso vencer isso.
Mutador

3

Oitava

Usos: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_``abcdefghijklnsm{|}~e uma nova linha na saída.

Não usa: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"de envio anterior em Microscript .

Código:

[' ':'@','[':'`','{':'~',('@'+' '):('>'+'/')]

Saída:

ans =
 !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~`abcdefghijklm

Explicação:

Esta é uma coleção de caracteres ASCII consecutivos. O código é equivalente a:

[char(32:64) char(91:96) char(123:126) char(96:109)]

Onde char(32:64)estão os caracteres ASCII de 32 a 64 (espaço para @). Para obter a parte do alfabeto no final da saída, tive que adicionar caracteres, pois não podia usar ae m. @+é igual a 96 (``) e >+/é igual a 109 (m)


Como é que isso funciona?
Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ, explicação incluída =)
Stewie Griffin

3

Perl

Usos: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}(com espaço)

Não usa: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~de envio anterior em Ilegível

eval q!print uc q&} abcdefghijklmnopqrstuvwxyz&!and eval q}print q&0abcdefghijklmnopqrstuvwxyz&}and eval q&print length for qw!a bc def ghij klmno pqrstu vwxyzab cdefghij klmnopqrs!&

Saídas:

} ABCDEFGHIJKLMNOPQRSTUVWXYZ0abcdefghijklmnopqrstuvwxyz123456789

… A velha piada sobre macacos escrevendo código vem à mente…

Você pode executar o programa online.

Este programa abusa dos recursos estranhos do Perl para escrever código em praticamente qualquer subconjunto do ASCII:

  • As funções podem ser chamadas sem parênteses em alguns casos (inseguro sobre regras exatas)
  • q#text#onde #pode haver quase qualquer caractere é o mesmo que"text"
  • qw#word1 word2 word3# como acima é o mesmo que ["word1", "word2", "word3"]
  • for loops e outras coisas podem ser anexados às linhas, eliminando qualquer pontuação

3

Javascript ES6

Resposta anterior: /codegolf//a/67406/39022

A fonte não contém !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ, espaço ou nova linha.

alert`abcdefghijklmnopqrstuvwxyz{}\\~_^[]|\``

Saída:

abcdefghijklmnopqrstuvwxyz{}\~_^[]|`

(Alfabeto em minúsculas, colchetes, barra invertida, til, sublinhado, quilate, colchetes, tubulação e bastão)


Eu acredito que você média volta barra, em vez de para a frente barra. Mas boa entrada!
ETHproductions

@ETHproductions Você está certo sobre a barra invertida.
SuperJedi224

2

Python 3

Usos: !CGaceilmnoprstw z.

print("Germanic Capitalization is awesome!")

Simplesmente imprime Germanic Capitalization is awesome!sem restrições. Boa sorte!


2

Microscript II

Resposta anterior: aqui.O programa não usa ponto-e-vírgula, espaço, parênteses, colchetes, colchetes, aspas simples ou duplas. Esse programa seria muito mais curto se não fosse necessário evitar cotações.

A saída inclui ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789":, e uma nova linha.

Programa:

97Kp98Kp99Kp100Kp101Kp102Kp103Kp104Kp105Kp106Kp107Kp108Kp109Kp110Kp111Kp112Kp113Kp114Kp115Kp116Kp117Kp118Kp119Kp120Kp121Kp122Kp""P65Kp66Kp67Kp68Kp69Kp70Kp71Kp72Kp73Kp74Kp75Kp76Kp77Kp78Kp79Kp80Kp81Kp82Kp83Kp84Kp85Kp86Kp87Kp88Kp89Kp90Kp123456789qh

Saída exata:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ"123456789"

11
E o Does not incudepouco.
Conor O'Brien

2

MATLAB

Usos: !GSaefgimnoprstuwe nova linha.

Não usa: !CGaceilmnoprstw zdo envio anterior, Python 3 .

[83,116,101,119,105,101,32,71,114,105,102,102,105,110,32,105,115,32,97,32,112,114,111,109,105,110,101,110,116,32,103,101,110,105,111,117,115,33,'']

Impressões:

ans =

Stewie Griffin is a prominent genious!

2

Ilegível

Usos: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

Não usa: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgde envio anterior em Pyth

'"'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'' '" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'"'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "'""'"' "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "" '""' "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " '""'" "'" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Saídas:

"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

Caso você esteja se perguntando, sim, a programação manual nessa linguagem é dolorosa, por isso criei este script (em JavaScript) para gerar o código:

var program = `"`,
    output = "\"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`{|~";
for(var i = 1, c = 0; c < output.length; i++) {
  program = `'""` + program;
  if(i == output.charCodeAt(c)) {
    program = `'"` + program;
    c++;
  }
}
program;

Eu usei o interpretador Python para ilegível aqui para executar o código.


Ter um espaço lá iria tornar a vida difícil para o próximo =)
Stewie Griffin

@StewieGriffin Isso é verdade. É tarde demais para editar? xD TBH, porém, acho que esse desafio pode durar muito mais tempo, porque há muitos idiomas que têm variáveis ​​predefinidas em letras maiúsculas ou minúsculas; portanto, apenas um caractere seria uma resposta válida. (Mesmo que não seria muito interessante e faz com que seja muito fácil para a próxima resposta!)
user81655

11
Eu acho que é tarde demais agora. Alguém pode estar trabalhando em uma solução, por exemplo, espaço em branco, e de repente adicionar um espaço na saída provavelmente os deixará irritados.
Stewie Griffin

@ StewieGriffin Sim, esse foi o meu raciocínio também.
user81655

1

GolfScript

Usos: espaço, nova linha !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ,.

Não usa 0-9A-Za-z{ou espaço da submissão anterior no Perl .

O código:

'!'.!=('['.!=,>''+

A saída:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

E uma nova linha à direita.

Experimente aqui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.