Este é um desafio de policiais e ladrões que o Fio dos Ladrões pode ser encontrado aqui
Seu desafio é escrever um programa que produza um anagrama de seu código fonte, mas não o código fonte original.
Por exemplo, o seguinte programa Python,
print`'print*2``'*2`
impressões
'print*2``print*2``'
que tem todos os mesmos caracteres que sua fonte original, mas em uma ordem diferente.
Depois de encontrar esse programa, inclua a saída do programa como resposta, omitindo o programa que o gera. Como você deve ter adivinhado, os ladrões procurarão descobrir o programa que você ocultou ou qualquer outro programa que atenda às especificações. Seu objetivo é criar o programa mais curto que os ladrões não possam decifrar.
Regras
Como na maioria dos desafios de policiais e ladrões , se sua resposta permanecer sem solução por uma semana, você poderá adicionar a solução pretendida à sua resposta e marcá-la como Segura . Uma vez segura, uma resposta não pode ser quebrada pelos ladrões.
Você não precisa incluir o idioma da solução pretendida; no entanto, se você não incluir os idiomas, os ladrões podem decifrá-lo em qualquer idioma anterior ao desafio, enquanto que, se você especificar o idioma, eles poderão decifrá-lo somente no idioma fornecido.
Aplicam-se regras padrão para Quines.
fonte
Respostas:
Brain-Flak , 231 bytes Rachado pelo Assistente de Trigo
O programa original usa o
-A
argumentoAqui estão as contagens:
fonte
Python 2, 96 bytes, quebrado por math_junkie
Saída:
Código de golfe pela primeira vez! Espero que não seja muito fácil.
fonte
print('')
,chr() + ''
até agoraHaskell, 107 bytes, Rachado por nimi
Há uma nova linha posterior à direita.
Solução original:
Experimente online!
Minha idéia principal era escrever um quine que classifica seu próprio código-fonte antes de produzi-lo sem usar uma
sort
função de biblioteca . Somente depois de uma tentativa inicial de cracking por nimi , ocorreu-me que o código do programa poderia ser classificado manualmente, codificado no programa e depois impresso enquanto dobra cada letra. No entanto, os limitados caracteres disponíveis tornam essa abordagem mais complicada e o crack bem-sucedido de nimi é bastante semelhante ao meu programa original.Explicação:
fonte
;
por uma NL):i[]d=[d,d];main=print$i[]=<<"$$ ... |||"--
e todos os caracteres ausentes após o--
. Encontrei esta versão depois da minha resposta do tópico de ladrões e depois de você ter revelado sua resposta com a explicação agora alterada.Idioma não especificado, 124 bytes,
No tema da resposta de DJMcMayhem, este é o primeiro 32 caracteres ASCII (além de
0x00
) impresso quatro vezes cada. Como nada disso é visível, não incluí o código real na minha resposta.Aqui está o hexdump:
No entanto, aqui está um Python que o imprime (e uma nova linha) se você quiser:
fonte
Pitão , 32 bytes, Rachado por math_junkie
Solução original
Experimente online!
fonte
CJam, 46 bytes, quebrado por math_junkie
fonte
V , 21 bytes (Seguro!)
Observe a nova linha principal.
Como contém imprimíveis, aqui está um hexdump:
Para ajudar algumas pessoas, aqui está um link para o padrão V extensível
Aqui está a versão original:
Experimente online!
A versão legível é:
A maneira como isso funciona é incorporando a classificação ao quine extensível padrão. Como eu estava pensando em V-quines por causa dessa resposta, percebi que o quine extensível padrão pode ser reduzido em três bytes, então essa solução poderia ter sido:
Explicação:
fonte
Idioma não especificado, 254 bytes Rachado por @Dennis!
Duvido que isso ganhe por brevidade, mas será uma dor de cabeça, por isso ainda vale a pena fazer.
Devido a um erro, a ordem
0x0b, 0x0c, 0x0a
ficou um pouco confusa, mas essa é definitivamente a saída real.Eu imaginei que não especificaria o idioma apenas para que eu pudesse ver em quais idiomas diferentes isso é possível. Como a saída é principalmente não ASCII, aqui está um hexdump da saída:
Esse é todo caractere ASCII, exceto por
0x00
e0x0D
porque ambos causaram um comportamento estranho no TIO. Divirta-se quebrando! >: DO código original estava em V.
Experimente online
Hexdump:
Basicamente, tudo o que é
S
justo insere lixo no buffer. O0xEE
princípio é apenas para garantir que tudo após a nova linha não ocorra em parte de um loop ou macro. Então nós fazemosfonte
Oitava , 91 bytes
fonte
PHP, 130 bytes (Seguro)
Solução original
Eu não conseguia entender que não estava rachado
fonte
Adivinha, 43 bytes
Foi uma decisão difícil compartilhar ou não o idioma, mas acho que essa opção é melhor. Observe que há uma nova linha à direita.
fonte