Corrente de golfe (tópico da polícia)


13

Este é um desafio para policiais e ladrões. Para o tópico dos ladrões, clique aqui .

Os policiais têm três tarefas.
1) Escolha uma sequência no OEIS .

2) Escolha um idioma (sugere-se que seja um golflang, mas não precisa ser) que, quando recebida n, gera A(n)(onde A(n)a sequência é escolhida) usando todas as regras usuais de .
Chame essa linguagem L A e código C A .
Por exemplo, Jelly e Jelly_code .

3) Em seguida, escolher um idioma diferente (isto é sugerido para ser um não-golflang, mas não tem que ser) e escrever código que não leva entrada e código de saídas C Um , novamente seguindo todas as habituais regras. (Nota:. Isso pode ser ofuscado código e não necessariamente precisam ser golfed, mas quanto mais tempo este código é o mais fácil será para os ladrões para quebrar a sua apresentação)
Chame essa linguagem L B e código C B .
Por exemplo, Python e Python_code .

Segundo a bobina para este desafio é a sequência (especificado se 0- ou 1-indexado), o nome dos dois idiomas G A e G B (e que a pessoa pode resolver qual parte), e o byte de contagem de C B única. Mantenha o código real de ambas as partes, eo comprimento de C Um , segredo.

Para o Cop, links para documentação para L A e G B , ou um intérprete (ou uma ligação de TIO, uma vez que inclui ambos), são apreciados, mas não exigida.

O desafio do ladrão é selecionar entrada e escrever código de Cops' C C no mesmo L B linguagem que gera algum código no mesmo L Uma linguagem que resolve a tarefa original OEIS. O comprimento de C C não pode ser maior que o comprimento de C B, conforme revelado pelo policial (embora possa ser menor). Nota: O código produzido por C C que não tem que coincidir com C A .

Para o nosso exemplo, isso significa que o Robber precisa escrever código Python que produza o código Jelly que resolve a sequência OEIS original, e que o código Python não deve exceder o comprimento revelado pelo Cop.

Condições vencedoras

As respostas que não foram quebradas em uma semana podem ter suas soluções reveladas, quando são consideradas seguras . Observe que, se você não revelar sua solução após uma semana, ela ainda poderá estar quebrada. O policial com a menor resposta segura vence.



Mantemos em segredo a sequência OEIS?
precisa saber é o seguinte

@juniorRubyist Não, o policial deve indicar qual sequência foi usada e se está indexada em 0 ou 1.
AdmBorkBork

Respostas:


3

OEIS A000041 , rachado por ETHproductions

Vamos tentar o contrário: golflang gera não-golflang.

a (n) = número de partições de n (os números das partições).

  • a (n) (indexado 0) é retornado por uma função JavaScript (ES6)
  • O programa que gera a função JS é escrito em Jelly
  • O comprimento do programa Jelly é de 35 bytes

Solução pretendida

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

que gera

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Rachado . Isso foi muito divertido, embora eu parecem ter perdido um par de horas :-)
ETHproductions

@ETHproductions Nice! Minha solução JS estava usando um intervalo restrito de caracteres para que pudesse ser compactado como um número inteiro de base 28 no lado do Jelly.
Arnauld

@ETHproductions Cara, eu deveria ter passado mais tempo otimizando o código JS. Aqui está uma solução de 31 bytes . ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , quebrado por DJMcMayhem

Número de divisores ímpares de n menos número de divisores pares de n (indexado 1).

  • O programa que gera a (n) está escrito em 05AB1E .
  • O programa que emite o programa 05AB1E está escrito em Brain-Flak + a -Abandeira.
  • O comprimento do programa Brain-Flak é de 198 bytes (a contagem de bytes não inclui o sinalizador).

Observe que eu provavelmente poderia facilmente jogar golfe no programa Brain-Flak usando truques de manipulação de pilha e outros truques de complexidade kolmogorov que eu conheço, mas eu queria manter isso simples como meu primeiro envio. Boa sorte, ladrões!

O que eu tinha em mente

05AB1E: Flacidez ÑÈD<)O(O

cerebral:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Acabei de terminar
HyperNeutrino 6/06

@DJMcMayhem Nice! Vou tentar algo um pouco mais difícil a seguir.
Sr. Xcoder 06/06/19

2

OEIS 000035 , quebrado pela betseg

O problema foi resolvido no Proton .
O código Proton é produzido pelo Python .
O comprimento do programa Python é 13 bytes .

Realmente fácil para iniciantes (se você conhece Proton: D). Indexado a zero.

Solução pretendida

Python: print("(2%)")
Proton: (2%)
Embora eu tenha decidido n=>n%2ser curto o suficiente, porque os atalhos de funções diádicas / monádicas não estão documentados.


7
Realmente fácil, se você conhece um idioma que parece ter exatamente zero documentação. Yeah, ótimo.
Peter Taylor

3
Por que é o link para A34 ...
user202729 6/0618


@ user202729 graças fixos
HyperNeutrino

@PeterTaylor precisamente zero, não há o suficiente aqui para você para resolvê-lo ...
HyperNeutrino


1

OEIS A055642 , quebrado por Lynn

Número de dígitos na expansão decimal de n

Provavelmente é muito fácil, mas demorei um pouco, por isso espero que alguém esteja tão decepcionado quanto eu quando finalmente entendi: D

  • O programa que escreve um (n) está escrito em 05AB1E
  • O programa que imprime o programa 05AB1E é escrito em TeX
  • O programa TeX tem 6 bytes de comprimento

O que eu tinha em mente:

Sgcomo código 05AB1E
Sg\byecomo código TeX



1
@Lynn yes. Você ficou desapontado?
Simon Klaver

1

OEIS A000668 , quebrado por Lynn

Primos de Mersenne (de forma 2 p -1, em que p é primo)

  • a (n) é gerado por um programa completo Jelly .
  • n é indexado em 1.
  • O programa Jelly é impresso por um programa Triangularity , cujo comprimento é 38 bytes .

Estratégia diferente: resolva a sequência em um campo de golfe e produza o programa em um esolang.

Solução pretendida


Tem certeza de que o comprimento está correto? Os documentos dizem um programa triangularidade deve ter comprimento 2*n^2 - 1que não pode ser 38.
Lynn

1
@ Lynn Isso se refere à contagem de caracteres , não à contagem de bytes .
Xcoder

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.