Você conhece bem o site? Vamos descobrir.
Este é um desafio de policiais e ladrões . A linha do policial .
Como ladrão, você precisa:
- Encontre um desafio não excluído e não fechado que corresponda ao envio de um policial. O desafio não pode ter as seguintes marcas: COPS-e-ladrões , popularity-contest , code-corrico , dissimulados , ocupado-castor , king-of-the-hill , dicas , resposta-encadeamento . O desafio deve ter restrições na saída válida.
- Poste o desafio aqui e conecte-se ao policial que você está pirando
- Adicione um comentário "Rachado" à postagem da polícia, com um link para esta resposta
Você receberá 1 ponto, mais 1 ponto por cada período de 24 horas em que o envio permaneceu inalterado (máximo 7). O desempatador é o número total de submissões rachadas.
Notas:
- Se um desafio exigir uma saída de
X
e você produzirXY
ouYX
ondeY
houver algo além de espaço em branco, o envio não será válido para esse desafio. - Não é permitido um desafio mais recente que 17/11/2016.
- Reservo-me o direito de proibir certos desafios se eles forem amplamente aplicáveis (podem ser aplicados à maioria de todos os envios).
- Adicione uma frase ou duas como explicação (também ajuda a converter seu envio em comentário)
- Obrigado a Daniel pela ideia inicial!
cops-and-robbers
obfuscation
Nathan Merrill
fonte
fonte
Respostas:
Calcule a probabilidade de obter metade do número de cabeças que os lançamentos de moedas.
Entrada da polícia (publicada por Conor O'Brien): /codegolf//a/100521/8927
Pergunta original: Calcule a probabilidade de obter metade do número de cabeças que os lançamentos de moedas.
A solução postada teve algumas técnicas de ofuscação aplicadas, seguidas por várias camadas da mesma técnica de ofuscação. Após os primeiros truques, tornou-se uma tarefa simples (se entediante!) Extrair a função real:
Demorei um pouco para perceber o que eu estava vendo (durante algum tempo suspeitei de algo a ver com entropia), mas uma vez que ela girou, consegui encontrar a pergunta facilmente procurando por "probabilidade de sorteio".
Como Conor O'Brien desafiou uma explicação detalhada de seu código, aqui está um resumo dos bits mais interessantes:
Começa ofuscando algumas chamadas de função internas. Isso é obtido codificando a base-32 os nomes das funções e atribuindo-os a novos nomes de namespace global de um único caractere. Somente 'atob' é realmente usado; os outros 2 são apenas insensatos (eval usa a mesma abreviação que atob, apenas para ser substituído, e btoa simplesmente não é usado).
Em seguida, existem algumas misturas triviais de strings para ocultar o código. Estes são facilmente revertidos:
A maior parte da ofuscação é o uso da
g
função, que simplesmente define novas funções. Isso é aplicado recursivamente, com funções retornando novas funções ou exigindo funções como parâmetros, mas eventualmente simplifica. A função mais interessante para sair disso é:Há também um truque final com esta linha:
Embora o próximo bit seja ".pow (T, a)", sempre foi bem provável que tivesse que ser "Math"!
Os passos que dei ao longo da rota de expansão de funções foram:
A estrutura do aninhamento de funções é baseada em utilidade; a função mais externa "D" / "j" calcula uma razão e, em seguida, as funções internas "C" / "h" e "E" (em linha) calculam as contagens de moedas necessárias. A função "F", removida na terceira passagem, é responsável por conectá-las a um todo utilizável. Da mesma forma, a função "k" é responsável por escolher o número de cabeças que precisam ser observadas; uma tarefa que delega à função de proporção "D" / "j" através da função de ligação de parâmetro "L"; usado aqui para corrigir parâmetro
b
paraT
(aqui sempre 2, sendo o número de estados da moeda pode tomar).No final, obtemos:
fonte
f
. Mas o resto está correto! Além disso, um pouco de elaboração de comoRESULT
é derivado pode ser digno;)MATL, Luis Mendo , Contar número de decimais robustos entre 2 números
Eu descobri o que ele faz tocando com as entradas, mas não consegui descobrir qual desafio você teria para calcular o número de números inteiros em um intervalo cuja soma era maior que 7 vezes o número de dígitos. Depois de ler os documentos do MATL, reuni uma explicação aproximada do que isso faz:
Em seguida, mudei da pesquisa "soma de dígitos maior que 7 vezes o comprimento" para "dígito médio maior que 7", o que gerou o desafio que eu estava procurando.
fonte
아희 (Aheui) JHM , loop infinito mais curto , sem saída
Tentei online, o código continua funcionando e não há saída.
fonte
Inverter uma matriz unidimensional
Eu acho que é isso, é como a primeira resposta para isso.
/codegolf//a/100368/31343
fonte
C #, Yodle , Dada uma entrada, mova-a pelo teclado por N caracteres
Uma entrada
string
eint
e muda a cadachar
dostring
que ochar
que éN
chaves afastado no teclado (envolvendo em torno).fonte
Perl, Gabriel Benamy , Verificador conveniente de palíndromo
O código era obviamente algum tipo de palíndromo. Depois de escolher a
y- - -
estrutura e perceber o que estava sendo transliterado, soube qual era o desafio.fonte
Pyth - /codegolf//a/100391/31343
Eu descobri rapidamente o que o programa fazia, mas encontrar o desafio levou muito tempo.
Caminho diferente para a frente
este é o meu buffer.
fonte
05AB1E, 27 bytes, Adnan
Avaliando a pontuação com base em uma sequência FEN de xadrez
Eu descompactei a string e procurei, e me deparei com esse desafio.
fonte
MATL, Luis Mendo , Calcular o peso do hamming com baixo peso do hamming
Eu testei a colocação de números e achei a coisa do peso hamming no OEIS .
Então eu procurei no PPCG, tentei colocar as cordas e funcionou.
fonte
C ++, Karl Napf , conjunto de soma de seqüências de caracteres
Demonstração online mostrando o primeiro caso de teste da pergunta.
fonte
Rubi, histocrata , implementa uma máquina da verdade
O código define um sistema de funções iteradas
f(n) = n*(3*n-1)/2
que é executado até que on
mod 7 seja 0. A entrada de0
portanto termina imediatamente (após a impressão0
uma vez). Entrada de1
doações1
, levando a um loop infinito de impressão1
. Outra entrada termina após 1-3 etapas se a inicialn
for congruente a 0, 2, 3, 5 ou 6 mod 7, ou crescerá para sempre se for congruente a 1 ou 4 mod 7. Mas isso é irrelevante.fonte
Hexagony, 548 bytes, Martin Ender
Este é o " Imprima todos os caracteres que seu programa não possui desafio "!
Impressões:
O que é muito semelhante à saída deste . A pista aqui era que o último
.
não foi impresso. Além disso, o código em si não tinha letras e todos sabemos que as frases na saída contêm todas as letras do alfabeto.fonte
Python, 935 bytes, Mega Man , Qual é o menor número inteiro positivo da base 10 que pode ser impresso por um programa mais curto (em caracteres) do que ele próprio?
Na verdade, eu não tentei. Mas acho que imprime um número maior que o programa.
fonte
Python 3, /codegolf//a/100381/31343
Use a fórmula do xkcd para aproximar a população mundial
Eu apenas procurei por desafios que envolviam anos bissextos (por causa da divisibilidade decodificada por quatro verificadores) e que não receberam nenhuma contribuição.
fonte
%4
eastrftime
, mas bom trabalho para detectar as partes importantes do código (mais do que era o jargão)7.3 328
, e pesquisou isso. O desafio surge imediatamente.Brainfuck, FinW , imprime a tabela ASCII
Isso foi fácil, pois ele postou sua resposta nesse desafio.
Link para a resposta dele
fonte
Mathematica, JHM , Construção natural
O operador unário
±
calcula uma representação baseada em teoria dos conjuntos dos números naturais.fonte
Ruby, wat , 400ª questão Celebração / Desafio
Essa foi a primeira coisa que encontrei ao pesquisar "400". Dito isto, o desafio parece estar errado e deve ser um popcon e provavelmente também deve ser fechado por não ter requisitos objetivos.
fonte