Sua tarefa como policiais é selecionar três coisas:
Uma linguagem de programação
Uma sequência OEIS
Um conjunto de bytes
Você deve escrever secretamente um programa nesse idioma que calcule a seqüência do enésimo termo, usando apenas os bytes no conjunto. Você revelará as três informações para que os ladrões possam tentar descobrir o programa.
As respostas serão pontuadas pelo número de bytes no conjunto de bytes, com mais pontuação sendo boa. As respostas quebradas têm uma pontuação automática de 0. Se a sua resposta for quebrada após uma semana, você poderá revelar o programa pretendido e marcar sua resposta como "segura".
As respostas devem ser capazes de calcular todos os termos nos arquivos b da sequência, mas não são necessários para calcular nenhum termo depois.
As sequências podem ser indexadas 1 ou 0 para policiais e ladrões.
Aqui está um script Python que verifica se o seu código corresponde ao conjunto de bytes especificado.
fonte
A
comb
e anexando a.txt
. Por exemplo, oeis.org/b4.txt acessaria os arquivos b para essa sequência.Respostas:
Haskell , A209229 , ( rachado )
11 caracteres (incluindo nova linha):
Emite Verdadeiro / Falso como uma função indicadora para potências de 2:
As entradas são números inteiros positivos.
fonte
Python 2 , A000045 ( rachado )
contém um espaço em branco e uma nova linha
Experimente online!
Solução pretendida
fonte
+
em tudoplus
funcionaria?sum
seriaHaskell, A000045 ( rachado )
Decidi, acho que gosto
t
mais do ques
.Então, vamos usar esses 30 bytes (incluindo nova linha):
Observe que a descrição geral do desafio exige que
Nesse caso, o arquivo b sobe para o número 2000, que está muito além do que pode ser calculado usando
Int
.fonte
Octave, A000290 , Rachado !
A sequência é o número do quadrado: 0, 1, 4, 9, 16, 25, 36, 49 ... (para que você não precise verificar o link).
fonte
Haskell, A000045 ( Rachado )
Todo mundo gosta de números de Fibonacci, eu gosto de Haskell ...
Eu selecionei cuidadosamente 30 bytes para você: as letras minúsculas, exceto
f
,i
et
, você tem as letras maiúsculasF
eT
e o símbolo pipe|
vez, e os três símbolos=()
, e de nova linha. Aqui estão eles novamente:fonte
Haskell, A034262 , 43 bytes, quebrado
!"#%',.=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_{|}~
Computa
a(n) = n³ + n
.fonte
Int
bom o suficiente?Haskell, A009056 ( rachado )
Outro simples, agora com letras suficientes para parecer Haskell comum e talvez você me surpreenda ao encontrar uma solução completamente diferente da minha.
A sequência é Números> = 3 e o conjunto de caracteres consiste nesses 30 bytes:
O crack tem algumas técnicas legais. Eu só estava pensando nisso:
fonte
C (C99), A000005 , 25 bytes #, rachado!
Esses são os bytes para um problema completo, toma n como argumento da linha de comando e gera resposta para stdout (o espaço está incluído no bytecount).
fonte
Unário , A002275 , 1 Byte
Conjunto de bytes:
Eu tive que pelo menos tentar: 3
(Eu não acho que será particularmente difícil, pois todos os comandos no idioma estão disponíveis)
fonte
Perl 5, A000030 (Cracked)
Byte set:
Try it online!
fonte
JavaScript (ES6), 17 bytes, A000290 (Cracked)
Again, this is the simple square sequence a(n) = n2.
Byte set:
fonte
Hexagony, A057077, 77 bytes
Periodic sequence
1, 1, -1, -1
. As a list:Character set (edited), which includes a newline and a space character:
Try it online!
fonte
Haskell, A000045 (cracked)
It's cracked, and I won't start a new version, but if you want to play more: it's possible without
y
, and it's possible to be efficient.I apologize for leading you in wrong directions by giving a
g
. Let's do the same without!Here are the 29 remaining bytes (including newline):
Again, remember that
Int
won't be enough to compute the 2000th Fibonacci number which is needed because it is in the b-file.fonte
Haskell, A000045 (cracked)
This is kindof (as announced) not a new version, but completely different. (Right?)
I still hope I can make you rediscover my nice little observation.
This time you are asked to implement the Fibonacci sequence using a charset of size 17, which (as far as I know) contains only
onetwo unneeded chars:Note that there is no newline (but feel free to show a version which has them for readability) and remember that you have to be able to compute the 2000th Fibonacci number.
fonte
Cubix, A000027 (SAFE) 17 points
My solution:
watch it online here
I originally did this without
.NSQ
but I figured I could add them safely.Explanation:
Esta sequência é apenas "Os Inteiros Positivos". No entanto, o Cubix possui três comandos de entrada
i
, que lê em um único caractere (pressionando-1
se a entrada estiver vazia),A
que lê o restante da entrada como caracteres (pressionando-1
a no bettom da pilha) eI
, que lê o próximo número da entrada (pressionando0
se não houver correspondência). Então, naturalmente, eu apenas fornecii
quais leituras em dígitos como seu valor ascii. uh-oh Além disso,-1
é o marcador usual para o final da entrada, em conjunto com o?
que eu me livrei?
, me forçando a usar!
(pule a próxima instrução se o TOS não for zero) para o fluxo de controle. Por fim, pensei que precisava&
concatenar dígitos para impressão comO
(que gera o topo da pilha como um número), mas agora percebo que isso também não era necessário!Outra parte do desafio era originalmente não ter
.
o personagem no-op, mas você pode usar pares de pares!
se tiver cuidado:i)
: entrada de leitura, incremento.!/
: se o topo da pilha for zero (final da entrada), vire à esquerdaesquerda::
;O.@
pop no topo da pilha, saída como número, parada.de outra forma:
u'0
: envia o código de char0
para o topo da pilha)-r
: incrementa, subtrai e gira;;
: pop top da pilha duas vezesu&
: concatenar dígitos!!
: efeito zero líquido, agora estamos dei)
novo.fonte
.
mas isso pode ser feito sem ele.Seed , A005408 (Odd Numbers) - Cofre
Aqui está um pouco mais desafiador. Você pode usar qualquer caractere válido no Seed:
Você não deve ser capaz de fazer força bruta em uma semana, a menos que tenha um monstro de computador. Boa sorte! É quebrável.
Sugestão
Solução
fonte
Python 2 , A000045 ( rachado )
contém um espaço em branco e uma nova linha
Experimente online!
Solução pretendida
fonte
R, A000142 , ( Rachado )
Conjunto de bytes:
Solução pretendida:
fonte
cQuents , A000027 , Rachado
Está certo! Você recebe todo o ASCII! Espere ... não há
$
... o que há de$
novo no cQuents? Ah, sim, o índice incorporado. Bem, azar: /Solução pretendida:
Experimente online!
fonte
CJam, A000042 , quebrado por Lynn
Conjunto de bytes:
fonte
Ruby , A000004 , 5 bytes, Rachado
Apenas brincando para começar. Deve ser fácil para qualquer pessoa familiarizada com Ruby. É uma pontuação baixa, mas tanto faz.
Exploração rachada e não intencional
Rachado (resposta pretendida usando
n
sinalizador)fonte
n
sinalizador (que é a razão pela qual ele está na sequência de bytes e faria$.
1) igual aPython 3, A007504 ( rachado )
Esse conjunto de bytes, incluindo nova linha:
Meu código não fornece saída infinita, mas pode calcular a lista b inteira.
fonte
.
:(R, A000290 , ( rachado )
Conjunto de bytes:
fonte
c
, mas tudo mais parafunction
? Isso é horrível. Eu sei como fazer isso, exceto para leitura na entrada ...a
deveria ter sido ac
. Desculpe.Boneco de neve , 212 bytes, A000042
... mais espaço, inclusive 0x00-0x1f e 0x7f-0xff .
fonte
cQuents , A000217 , Rachado
Byteset:
Observe que isso usa um recurso para o qual ainda não enviei a documentação, portanto, o envio esta noite, se você esperar até lá. (Ou você pode ler meu código-fonte ... se divertir).Documentação enviada. Seria um byte a menos se uma correção recente estivesse no TIO.Solução pretendida:
Experimente Online!
fonte
JavaScript (ES6),
1310 bytes, A000045 , RachadoIsso deve ser fácil.
Esta é a sequência de Fibonacci: F (n) = F (n-1) + F (n-2) com F (0) = 0 e F (1) = 1.
Conjunto de bytes:
Editar:
Isso pode ser feito com os seguintes 10 bytes:
fonte
R, A105311 , ( rachado )
Conjunto de bytes:
fonte
Python3, A008615 , Rachado
Bytemap (com nova linha):
fonte
Befunge , A000142 , 29 bytes, ( rachado )
Se você não pode dizer, esse conjunto de bytes inclui um espaço.
Isso deve ser moderadamente fácil de resolver.
Edit: Esqueceu o "A" antes do OEIS
fonte
R, A105311 , ( rachado )
Vamos tentar isso sem o
l
ouo
.Como isso foi quebrado, a solução pretendida:
fonte
%o%
antes de perceber que%x%
existia. Eu acho que eu poderia ter feito'i'=='i'
para1
mas de qualquer forma obras, para.