Resolução de seqüências de troca secreta


12

Este é um desafio de , o tópico de policiais pode ser encontrado aqui .

Esse é o tópico dos ladrões, seu trabalho aqui é aceitar envios no tópico da polícia e tentar encontrar as seqüências ocultas. Se você encontrar alguma sequência que possa ser substituída no código original para calcular a sequência que é um crack válido. Notifique os policiais de suas rachaduras à medida que elas acontecem, para que possam atualizar suas respostas.

Pontuação

Sua pontuação será o número de rachaduras bem-sucedidas que você fez, com mais rachaduras sendo melhores.


Por que não deixar que os ladrões comentem a sequência # no tópico da polícia?
Lynn

5
@ Lynn Eu acho que os ladrões devem ser capazes de receber votos por seu trabalho em respostas rachaduras. Eu prefiro o formato de dois threads por esse motivo.
Post Rock Garf Hunter

Respostas:




4

Python 3, ppperry

A018226

O código original coloca o nome da sequência em um comentário. Como o comentário provavelmente não pode afetar o código, imaginei que a sequência oculta tivesse que ser uma sub-sequência do original. Uma pesquisa rápida dos dois primeiros termos trouxe A018226. Como é uma sub-sequência, o código funciona para ambos. A018226 está listado na página da sequência original, se você olhar para trás

Uma maneira de generalizar a sequência numérica mágica em A018226.


Essa foi a solução pretendida. Eu tive a idéia de tentar fazer as pessoas pensarem que era impossível colocando a sequência em um comentário.
pppery

@ppperry O comentário foi o que denunciou :). Achei que tinha que ser uma sub-sequência. Boa diversão de qualquer maneira!
Post Rock Garf Hunter

Talvez eu pudesse ter me escondido melhor, mas ainda é uma reviravolta interessante em comparação com as respostas típicas para esse tipo de coisa; sobre números, em vez de código.
precisa saber é





3

dc , Bruce Forte

Rachado com A027480 .


Bem feito! O que deu de presente?
ბიმო

2
As operações do módulo limitam o número de sequências geradas. Nesse caso, 8 × 9 = 72. Conecte a fórmula a uma planilha e gere todas elas. Apenas um punhado de seqüências produziu todos os números inteiros para todos os termos, e aqueles supuseram que apenas as seqüências com todos os termos positivos seriam de interesse. Depois, procurou-se as seqüências e conectou novamente o número de referência. Pesquisaram cinco, três tinham entradas correspondentes, a terceira correspondia às saídas para todas as entradas.

Se ao menos eu não tivesse dividido por 2; P
4/17/17


2

Python 3 , ppperry , A000027 -> A004526

f=lambda a,n=((int("A004526",11)-0x103519a)%100%30+1)/2:a//(14-n)

Experimente online! (imprime os primeiros termos de ambos. Observe que as duas seqüências têm compensações de 1 e 0, respectivamente, portanto a primeira tem um zero à esquerda - isso me deixou um pouco irritado!)



2

Python 3.6 , RootTwo

O original é A005843
Rachado com A001107

Experimente online

O código de avaliação do original (menos comentários) é n*2, da versão crackeada é 4*n*n-n*3.

Depois de filtrar erros de sintaxe, variáveis ​​não declaradas, zero divisões, etc., não demorou muito para percorrer a lista restante. Havia alguns falsos positivos (como A004917) que tive que filtrar manualmente, devido apenas à verificação dos primeiros números, mas não era muito comum.

Além disso, o A040489 tenta calcular n**3436485154-n, o que me deixou um pouco mais lento. : P


Parabéns. É isso aí. Você força brutal? Tentei fazer o resultado de alguns IDs de sequência incorretos em Python válido para desacelerar as coisas, mas acho que não o suficiente.
RootTwo

@RootTwo eu fiz principalmente força bruta. Eu também tinha outras heurísticas, mas nada muito complexo. Demorei alguns minutos para encontrar 1107, cerca de 8 para chegar a 5843. Por curiosidade, subi para 50000. Nenhuma outra correspondência nesse intervalo. Eu acho que 15-20% eram python válidos.
Phlarx

1

Chip , Phlarx

Rachado com A060843 . Em um palpite, adivinhou que a sequência seria curta!


Você entendeu! Bom trabalho
Phlarx
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.