Este é um desafio de policiais e ladrões , o segmento de ladrões pode ser encontrado aqui .
Sua tarefa é escrever um código que produza uma sequência OEIS e contém o nome da sequência no código ( A______
) e gera uma segunda sequência separada quando o nome da sequência no código é alterado para o nome da segunda sequência.
Aqui está um exemplo em Haskell que funciona para A000217 e A000290 .
f x|last"A000217"=='0'=x^2|1>0=sum[1..x]
Você deve revelar uma das duas seqüências e o código mantendo a segunda sequência em segredo. Os ladrões tentarão descobrir qual é a sequência oculta. Se um ladrão conseguir determinar qual é a sua sequência (ou outra sequência que se encaixa nos critérios), você responde está quebrado. Se nenhum fizer isso na semana em que sua resposta for publicada, você poderá marcar sua resposta como Segura e revelar a solução pretendida para verificação. Respostas seguras não podem ser quebradas.
Saída de entrada
Retirado daqui
O seu código pode ser uma função ou um programa completo que tem n através de um método padrão de entrada e emite o n ésimo termo da sequência como indexada pelo índice fornecido na página OEIS.
Você deve suportar todos os valores fornecidos nos arquivos OEIS b para essa sequência, qualquer número que não esteja nos arquivos b não precisa ser suportado.
Pontuação
Sua pontuação será o número de bytes no seu código, com menos bytes sendo melhores.
fonte
Respostas:
Python 3, 59 bytes, A162626 , quebrado pelo Wheat Wizard
Este
éera suposto ser impossível, não era?fonte
Python 3 , 62 bytes, A017016 ( rachado )
Experimente online!
fonte
Japt , 13 bytes ( Rachado )
Existe (pelo menos) uma outra solução, se alguém quiser dar uma facada nela.
Experimente online
A000012
Explicação
fonte
(sum_of_numbers_in_oeis(excluding 'A') + 1)%4
. : DMATL ,
3029 bytes ( rachado )A077430
Experimente online!
-1 byte graças a @Sanchises
fonte
I
1 byte.I
foi inicializado para 3l
(um) eO
(zero), você quase nunca precisará usar um espaço em seus programas MATL. Em uma nota relacionada, consulte a Tabela 7, bem como, o qual contém muitas constantes predefinidas úteis (embora tenha cuidado que por exemplo4X2Z%
tem uma forma abreviada1Z%
)C #, 28 bytes ( rachado )
Funciona com A000290 .
Fácil de começar.
Experimente online!
fonte
Python 2, 43 bytes, A000079 ( rachado )
Experimente online
fonte
C #, 75 bytes, ( Rachado )
A000244
Experimente online!
fonte
% 2
- para que o programa possa literalmente fazer apenas duas coisas , dependendo do resultado: uma para0
e outra para1
. Então, coloquei um número ímpar em seu lugar, e o desafio meio que se rompeu.Python 2 , 53 bytes, A000012 [rachado]
Experimente online!
fonte
Python 3, 65 bytes, A000027, quebrado
Yay aritmética louca!
fonte
n=12
que parece certo, mas o resultado será reduzido em um índice - eu rachei com insetos ou caí em um arenque vermelho muito inteligente?a(n) = floor(n/2)
; a sequência listada começa com 0. Essa é a solução pretendida, no entanto.Smalltalk, 148 bytes, seguro!
A018253
Pega um número inteiro como entrada, a sequência é baseada em 1.
fonte
Haskell, 226 bytes, seguro!
Não tenho certeza se inteligente ou feio, talvez ambos ...
Então agora isso calcula A001906 , mas deve ser capaz de gerar muitas sequências.
Experimente online!
Solução: A131078
Querendo saber se isso foi muito difícil ou ninguém tentou?
o 1
too 6
são os dígitos do número da série,m
é uma lista de operações.l
é uma lista infinita definida recursivamente com os dois primeiros valores derivados do número de série e os demais computados dos dois anteriores usando uma operação fixa dem
. No caso de A001906, a definição pode ser simplificada para(flip(+))
é (geralmente) o mesmo que(+)
, e obtemos uma definição bem conhecida (mas não a mais curta) dos números de Fibonacci. Esse esquema de recursão poderia computar diretamente o A001906, mas precisa de uma operação mais complicada do que a do Windowsm
. Um outro exemplo: utilizando os valores iniciais1
e2
e a operação(*)
dá a série A000301 . É calculado pelo nosso código quando o número da série é substituído por?103206
.Por fim, a função
f
indexa na listal
, mas somente após alguma transformação da entrada. Para A001906, a parte do meio se reduz a(*)2
, de modo que apenas os números de Fibonacci são obtidos em posições pares. A parte certa se tornaflip const 1
, que é a função de identidade e não interfere ainda mais.Para a solução
A131078
, os valores iniciais del
são1
e0
, e a operação éflip const
, o que permitel
ser1,0,1,0,...
. A parte do meio def
torna-se(flip div 4)
, resultando em1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,...
. Parecia uma boa resposta, mas vi que o A131078 começa emn=1
, então adicionei a parte corretaf
, que aqui éflip(-)1
subtrair uma.Minha idéia era torná-lo um pouco ofuscado, usando-o
m
e indexando-o com dígitos dos números de série; depois, ficava mais ofuscado (termos complicados) fazê-lo funcionar (talvez eu não estivesse procurando o suficiente por alternativas); e então ficou ainda mais ofuscado (parte certaf
) para fazê-lo realmente funcionar. Ainda acho que algumas tentativas e adivinhações poderiam ter quebrado.fonte
0
. Tudo bem, porque só começa às1
! A partir de1
também deve remover alguns dos erros "divisão por zero". Estou surpreso com exemplos que correm para sempre. Talvez a transformação índice cria valores muito grandes nestes casos ...dc , 52 bytes, quebrado
Este funciona com A000217 :
Experimente online!
fonte
Python 3.6, 114 bytes, cracked
A005843
g(n)
returns the n-th value of the sequence for n >= 0.random.choices(s,k)
is new in Python 3.6, it returnsk
items selected froms
with replacement.fonte
Chip, 67 bytes, cracked by Yimin Rong
A000012. A bit cheeky, yes.
Try it online!
Uses bytes for i/o, so I was nice and built a bashy/pythony wrapper.
.
fonte