Corrente de golfe (fio de ladrão)


8

Este é um desafio de policiais e ladrões. Para o tópico dos policiais, 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.

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 um 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

O ladrão com as soluções mais rachadas vence.

Respostas:


6

Brain-Flak , 90 bytes por Mr. Xcoder

((((((((((()()()){}){}){({}[()])}{}())[(((()()()){})){}{}()]))){}{}()()())([][][]){})[][])

Experimente online!

Isso gera:

ÑÉ·<O

Primeira resposta 05AB1E!

Como funciona?

Digamos que temos 24 como entrada.

Ñ       # Divisors. 
        # Stack: [1, 2, 3, 4, 6, 8, 12, 24]
 É      # Odd?
        # Stack: [1, 0, 1, 0, 0, 0, 0, 0]
  ·     # Double
        # Stack: [2, 0, 2, 0, 0, 0, 0, 0]
   <    # Decrement
        # Stack: [1, -1, 1, -1, -1, -1, -1, -1]
    O   # Sum
        # Stack: -4

O código de quebra-cabeças usa apenas truques para enviar números grandes em poucos bytes. Foi muito conveniente (e não intencional) que os valores ASCII estejam aumentando principalmente:

209
201
183
60
79

Também é bom que 60 * 3 ~=~ 183triplicar e adicionar alguns deles economize uma tonelada de bytes.

((((((

    # Push 79
    ((((()()()){}){}){({}[()])}{}())
    # Minus 19 (60)

    [(((()()()){})){}{}()])
    # Push that two extra times
    ))

    # Push that ^ (60) Plus the two extras popped (60 + 120 == 180)...
    {}{}
    # + 3 (183)
    ()()())

    # Plus stack-height * 3 * 2 == 3 * 3 * 2 == 18 (201)
    ([][][]){})

    # Plus stack-height * 2 == 4 * 2 == 8 (209)
    [][])

oh bom, meu programa 05AB1E tinha 8 bytes. idk qualquer um dos 05AB1E builtins / encolher de ombros: P
HyperNeutrino 06/06



2

Geléia , 34 bytes por Arnauld

Gerenciou um byte menor que sua solução!

“`Ḃ|⁴ʂⱮdÐỌK_ƬƬfıæh’ṃ“fnk1()+-,=>?:

Experimente online!

Isso gera a função JS

f=(n,k=1)=>n>=k?f(n-k,k)+f(n,k+1):1>n

que calcula A000041 (indexado 0; nn(0)retorna trueno lugar de 1).





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.