(com base neste post e na discussão subsequente sobre bate-papo - também, muito obrigado a Dennis pelo TIO!)
O desafio
Escolha um idioma atualmente disponível no site TryItOnline , por exemplo, PowerShell . Escreva o código nesse idioma nessa página, que não receba nenhuma entrada, de modo que, quando o botão Executar for clicado, a saída nessa página seja exatamente igual à do campo "URL simples" quando o botão Salvar / armazenar botão é clicado.
Para um exemplo fictício, suponha que esse aaa
seja o código para uma solução para isso no PowerShell. Em seguida, o resultado de clicar em Executar com aaa
como código https://tio.run/#powershell
deve ser exibido https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
, que também é o campo "URL simples" quando o botão Salvar / Armazenar é clicado.
Pontuação
O URL resultante é a sua submissão a este desafio. O vencedor é o URL mais curto medido em bytes. Para o exemplo acima, a URL https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
é o envio para o desafio, em 44 bytes . O URL mais curto que cumpre o restante deste desafio vence o desafio e ganha pontos brownie (pontos não resgatáveis). Dado que existe um comprimento mínimo possível distinto, se dois envios tiverem o mesmo comprimento, o envio anterior vence.
Geração de URL
Este é o início do algoritmo de geração de URL no repositório. Você pode ver como a área principal do código é ocupada, quaisquer elementos extras são acrescentados, a string é desinflada e Base64 convertida e, em seguida ##
, anexada , etc. Não vou entrar em detalhes aqui; parte do desafio é analisar e entender como os URLs são gerados, a fim de explorar quaisquer peculiaridades em potencial no referido algoritmo.
Regras / Esclarecimentos
- O código real não deve receber entrada e produzir apenas o URL quine como saída.
- Isso significa que os únicos campos de texto que deve ser preenchido Ao clicar na URL são osCode
,Header
,Footer
ou correspondentes campos "Bandeira Compiler"; os camposInput
eArguments
são proibidos e devem permanecer vazios / sem uso. Clicar no botão Executar deve alterar apenas oOutput
campo. Para esse desafio, oDebug
campo é ignorado em todas as situações. - Regras usuais de quine se aplicam ao código na medida do possível (por exemplo, o código não pode ler seu próprio código-fonte via
.code.tio
). - Inclua uma descrição de como o código funciona no seu envio.
- Enviar um quine "barato" enviando uma solicitação pull do Git ao repositório TIO para criar um URL ou "atalho" de truque "ou algo semelhante não é permitido.
- Da mesma forma, não é permitido enviar uma solicitação pull para atualizar um idioma específico para produzir um URL de "truque".
- Por favor, seja gentil com os servidores de Dennis e não os abuse ou tente explorar por causa desse desafio.
https://tio.run/##a+a
que liga para um programa que saídas https://tio.run/##a+a
, é válida mesmo duro o link gerado pela saveState
teria sidohttps://tio.run/##a@a