Este é o tópico dos policiais. O fio dos ladrões vai aqui .
Escreva um programa ou função que consista apenas em caracteres ASCII imprimíveis (que excluam tabulação e nova linha) que produz pelo menos 5 caracteres ASCII imprimíveis em ordem crescente (do espaço ao til / 32 a 126). Os caracteres podem ser impressos várias vezes, desde que sejam adjacentes um ao outro. Uma única nova linha à direita é aceita. Você deve fornecer a saída completa e, para cada 6 caracteres em seu código, deve fornecer um caractere em seu código, na posição em que aparece. Se o seu código tiver 5 ou menos caracteres, você precisará revelar apenas o comprimento. Você não deve revelar mais de 1 caractere por 6 no seu código.
Portanto, se o seu código alphaprinter
gerar o alfabeto de az, será necessário revelar 2 caracteres do seu código (use sublinhado para os outros), por exemplo:
al__________ // or
__p__p______ // or
__________er
Regras / especificações:
- Você não pode anexar espaços em branco à direita que não tenham uma função.
- Você não pode usar comentários (mas os ladrões podem usar comentários ao decifrar o código)
- Primitivas criptográficas incorporadas (inclui rng, criptografia, descriptografia e hash) não são permitidas.
- Nos idiomas em que a saída padrão é semelhante ao MATLAB:,
ans =
isso é aceito, desde que seja claramente indicado e mostrado queans =
é emitido. Também deve ser claramente indicado se isso faz parte da "saída ascendente" ou não. - A saída deve ser determinística
- O uso de um idioma não livre não é aceito
- A saída não precisa ter caracteres consecutivos. Ambos
abcde
eabcdg
são saídas válidas. - Os caracteres não precisam ser distintos, desde que a saída contenha pelo menos 5 caracteres.
aaaaa
eaaacc
são válidos. - Respostas que pressupõem um ambiente REPL não são consideradas programas ou funções válidas e, portanto, não são permitidas.
- STDERR não é considerado uma saída válida, mas os dados podem ser gravados em STDERR.
Se os caracteres revelados estiverem sublinhados, você deverá identificá-lo como mostrado abaixo. Nesse caso, o segundo e o sexto caractere são sublinhados, enquanto os outros são desconhecidos.
_____________
| |
Nota: Os ladrões precisam apenas encontrar um código que produza a mesma saída. O idioma, o comprimento da solução dos ladrões e a posição dos personagens revelados também devem corresponder.
Sua pontuação é o número de caracteres no seu código. O vencedor será a finalização com a pontuação mais baixa que não tenha sido quebrada em 7 dias. Somente envios publicados em 2015 (UTC) são elegíveis para a vitória. Os envios publicados posteriormente são bem-vindos, mas não podem vencer.
Para reivindicar a vitória, você precisa revelar o código completo (após 7 dias).
Sua postagem deve ter o seguinte formato (nn é o número de caracteres):
Idioma, nn caracteres
Saída:
abcdefghijklmnopqrstuvwxyz
Código (12 caracteres):
al__________
Se o código estiver quebrado, insira [Cracked] (link para cracker) no cabeçalho. Se o envio for seguro, insira "Seguro" no cabeçalho e revele o código completo em sua resposta. Somente respostas que revelaram o código completo serão elegíveis para a vitória.
fonte
print ( "abcde" )
, posso revelar três espaços em branco?Respostas:
Hexagonia , 8 caracteres, segura
impressões
Você pode experimentar o Hexagony online
Solução
O
`
é apenas má orientação para fazer o olhar um código como ele requer lado de comprimento 3. A menos que o intérprete é executado com-d
a crase é simplesmente retirados do código-fonte antes de determinar o layout. Posteriormente, o código se encaixa no comprimento lateral 2:Isso move o ponteiro da memória (MP) em torno de um hexágono da grade da memória, enquanto copia o valor para a próxima borda, incrementa e imprime.
É assim que a grade de memória se parece, com o MP iniciando a posição marcada:
Inicialmente todas as arestas são zero. O primeiro
&
é um no-op, mas)
incrementa a borda e!
imprime o1
. Depois,"
volta para a esquerda (a borda 2 ). Lá,&
copia um valor. Como a borda atualmente é zero, o vizinho esquerdo (na direção do MP) será copiado, o1
que acabamos de imprimir.)
incrementa,!
imprime o2
. Isso continua enquanto visitamos novas arestas e imprimimos todos os dígitos até6
. Quando atingimos a borda em que começamos,&
copiamos o vizinho certo (porque o valor da borda é positivo), então a borda se torna0
novamente e o fluxo de controle salta para a última linha, onde@
finaliza o programa.Experimente online.
fonte
123456
, mas ele não para de correr e precisa ser morto. Isso é permitido?Perl, 46 caracteres (seguro)
Saída:
Código:
De alguma forma, consegui excluir o original no espaço de uma semana, mas acho que isso está certo:
fonte
Brainfuck, 48 caracteres, decifrado por Mitch Schwartz
Eu fiz este para os ladrões. Definitivamente, não será o envio vencedor :)
Isso gera:
Solução:
Eu testei aqui .
Dica: não tente encontrar programas gerados por geradores on-line haha. Isso foi escrito à mão e só pode ser resolvido pelo pensamento lógico :)
fonte
CJam, 13 caracteres
impressões
Você pode experimentar o CJam online.
Solução
Eu pensei que basear um policial em uma solução generalizada era bastante inteligente e inovador. No momento em que publiquei isso, percebi isso
__
eer
sou completamente inútil, motivo pelo qual publiquei o policial CJam de 8 bytes para obter uma pontuação mais competitiva. Pietu decifrou isso rapidamente, então eu tinha medo que ele descobrisse esse também. Suponho que a transliteração de caracteres desnecessariamente complicada o salvou.De qualquer forma, o código usa seus próprios caracteres (exceto os
_~
), XORs cada um com 19 para ofuscação e depois os classifica.Esse policial me levou à "descoberta" do xorting , embora eu não o esteja usando aqui (e provavelmente seria quase impossível utilizá-lo com um pequeno resumo generalizado).
fonte
3SP barulhento , 89 caracteres (seguro)
Programa original:
Este programa imprime
(observe o espaço à esquerda) e nada mais!
Explicação (* n refere-se à enésima célula na memória):
Os dois últimos comandos são suficientes para impedir que 1 seja incrementado novamente nas passagens subsequentes do programa, o que significa que nada é impresso novamente, embora continue configurando todos os endereços de memória de * 36 em diante para o valor 36 para sempre .
fonte
an esolang in which structured programming is impossible and every program has to be written from scratch.
0_0 mais um de mim.This is probably not that language
. Se você se sentar e tentar escrever um programa que produz essa saída, provavelmente obterá algo muito semelhante.JavaScript (ES6), 60 caracteres, Rachado pelo usuário81655
Não prometendo ganhar, mas espero que divertido:
Esta é uma função que retorna:
Editar
user81655 rachou personagem por personagem:
fonte
MatlabOctave, 27 caracteres, seguroDesafio
Em relação às novas restrições de idioma: Ele também funciona no Octave.
Saída (na oitava): (
ans =
não faz parte da saída, o primeiro caractere da saída é"
)Saída (no Matlab): (
ans = \n\n
não faz parte da saída, a saída é apenas a última linha)Solução
fonte
It also works in Octave.
R, 60 bytes, quebrado por plannapus
Saída:
Código:
Eu acho que isso não será tão difícil. Vamos ver.
fonte
Jolf , 27 caracteres, Rachado por Adnan
impressões
Intérprete .
Código original:
Parabéns a Adnan! Você me assusta.
Aqui, você pode testar seu envio para ver quantos caracteres devem ser removidos.
fonte
Fortran, 45 caracteres, seguro
Saída completa:
Gato tentou rachar aqui
Código (45 caracteres):
Código do programa:
fonte
/
!PHP, 46 caracteres, seguro
Fonte:
Produz uma cadeia longa de 84 caracteres:
Sugestão
Código revelado
fonte
CJam, 8 bytes, Rachado por Pietu1998
impressões
Você pode experimentar o CJam online .
fonte
05AB1E , 13 caracteres, quebrado por quintopia
Eu sou um idiota. Eu esqueci de implementar a função de energia (-_-。). Aqui está o código ofuscado:
Meu código original era:
Explicação:
Isso produzirá:
Sim, são 99 zeros seguidos por 1.
Note , eu tenho uma função de poder implementada agora. Portanto, isso pode ser feito em seis bytes:
fonte
"4"3*
= 12) #Python 3.4, 127 caracteres
Este é o meu primeiro post de cobre. Eu acho / espero que não seja muito difícil ou muito óbvio.
O código ofuscado:
cria esta saída (existem 5 espaços no início; o comprimento total é de 7740 caracteres):
fonte
Pyth, 17 caracteres, quebrado por Pietu1998
Saída:
Código:
Minha solução:
Solução de Pietu1998:
fonte
#
forma alternativa era nova para mim.) #Malbolge, 254 caracteres, quebrado por Adnan
Código:
Saída:
Eu meio que trapaceie colocando um espaço para cada sexto personagem. Ah bem...
Código quebrado de Adnan:
O código original:
Eu trapacei novamente usando um gerador de texto em Malbolge para esse código.
fonte
Mathematica 10.1, 98 caracteres, seguro
A saída está aqui . Toda a saída possui 838.316 caracteres e uma nova linha à direita.
Código:
Sim, isso deve ser executado na 10.1. (dica) O programa original:
fonte
MATL , 8 caracteres, seguro
Versão estável do compilador trabalhando no Octave em breve. Enquanto isso, esse commit do GitHub funciona e, em particular, executa o código original que produz a saída indicada
Este envio conta como publicado em 28 de dezembro de 2015, 15:30 UTC
Saída:
Código (8 caracteres):
Solução
O que faz:
fonte
Labirinto , 5 bytes, Rachado por Adnan
impressões
Meu código original era:
Observe o espaço à direita.
Suponho que deveria ter procurado mais personagens e revelado um dos
!
, porque a solução de Adnan só cresce linearmente ao adicionar mais!
, enquanto a minha cresce quadraticamente.fonte
PHP, 28 caracteres
Produz a string
fonte
ES6, 17 caracteres, quebrado por Cᴏɴᴏʀ O'Bʀɪᴇɴ
Esta é uma função que retornará a string
fonte
(i=106)=>i*i-3+''
JavaScript, 83 caracteres, Rachado por Martin Büttner
Saída
Código
A saída está no console JS de um navegador como o Chrome / Firefox.
Código original (que pode ser inválido):
fonte
Pyth, 6 caracteres, quebrado por Pietu1998
Código:
Saída:
Você pode tentar Pyth aqui
fonte
JavaScript ES6, 134 caracteres
Huh garoto, isso foi divertido. Boa sorte!
Saídas:
fonte
CJam, 12 caracteres, Rachado por jimmy23013
Saída
Código
fonte
Sério , 7 bytes, Rachado por Martin Büttner
Saída:
Não deve ser muito difícil, mesmo que o resultado não seja exatamente o que você esperaria.
fonte
Python 3, 58 caracteres, decifrado por Mitch Schwartz
Código:
Saída:
fonte
Befunge, 11 caracteres, quebrado (no funge-98) por MegaTom
Saída:
Código ofuscado:
Tudo em uma linha, uma vez que as regras proíbem novas linhas. Testado usando http://www.quirkster.com/iano/js/befunge.html .
Edit: Isso está legalmente decifrado, já que eu não especifiquei uma versão, mas observe que ainda existe uma solução Befunge-93.
fonte
Perl 5, 30 bytes, quebrado por Adnan
Código:
Saída:
Rachado:
Adnan encontrou uma rachadura trivial : obviamente, não pensei bem nesse quebra-cabeça. Eu compus outro em seu lugar.
fonte
Python 2, 62 caracteres, rachado por Adnan
Parece meio que uma mesa.
Isso gera a string
abcde
.Código de Adnan:
Meu código:
fonte