Esse é o fio dos ladrões desse desafio
Os policiais escolhem uma sequência OEIS e escrevem dois programas completos em dois idiomas diferentes que produzem o enésimo item na sequência quando recebem um n via STDIN. Os dois programas devem ser anagramas um do outro, o que significa que cada um pode ser reorganizado das letras do outro.
Eles apresentarão o número OEIS, o código-fonte e o nome de um idioma em que ele está.
Você deve encontrar um anagrama do envio do policial original que é executado em um idioma diferente daquele usado pelo policial. Para decifrar uma resposta, você deve encontrar apenas qualquer idioma e programa que produza a sequência e seja um anagrama do original, não necessariamente a resposta em que o policial estava pensando.
Você pode imprimir pelo código de caractere ou incluir STDERR em sua solução, mas somente se o policial indicou que a solução oculta o faz. A saída decimal para STDOUT é sempre uma rachadura válida.
Assim, os policiais são incentivados a tornar o mais difícil possível encontrar qualquer idioma que execute a tarefa usando sua lista de símbolos.
Pontuação
A pessoa com mais rachaduras será a vencedora desta seção. Somente o primeiro crack para cada solução será contabilizado na pontuação de alguém.
Entre os melhores
Um grande obrigado a todos que ocorreram neste desafio.
Aqui está o quadro de líderes como está
Place User Score
-----------------------------
1 Adnan 3
1 Kritixi Lithos 3
1 Emigna 3
1 milk 3
5 Steven H. 2
5 Wheat Wizard 2
5 jimmy23013 2
8 ETH Productions 1
8 Dennis 1
8 alleks 1
8 Martin Ender 1
8 Oliver 1
8 Conor O'Brien 1
fonte
Respostas:
05AB1E , 38 bytes, Loovjo , A000290
Experimente online!
Muito provavelmente não é a solução pretendida, mas funciona.
Explicação
fonte
1.0 is not a number
? Você poderia por favor elaborar?is_number
verifica se o número consiste apenas0-9
. Como.
não é um número, ele se torna falso. A função poderia usar um nome mais descritivo :)Jolf, 15 bytes, Adnan , A000290
Experimente aqui! Definitivamente não é a solução pretendida, mas, ei, funciona.
Explicação
fonte
05AB1E , 49 bytes, Assistente de trigo , A000290
Na verdade, a mesma abordagem que o crack de Emigna: p.
Explicação:
Experimente online!
fonte
05AB1E , 35 bytes, Oliver , A000290
Policiais devem parar de postar
n^2
desafios em python ...Experimente online!
Explicação
fonte
2sable , 7 bytes, Kritixi Lithos , A005843
Código:
Explicação:
Experimente online!
fonte
Hexagonia , 13 bytes, Adnan , A002378
Experimente online!
Desdobrado:
Não é 100% se este é o original, porque o canto superior esquerdo
\
não é utilizado.Como
<\>
são apenas espelhos, o programa é totalmente linear:fonte
V , 13 bytes, DJMcMayhem , A002275
Experimente online!
Essa pode ser a primeira solução no idioma pretendido pelo autor.
Explicação
fonte
This might be the first solution in the language the author intended.
Spot on. :)2sable, Conor O'Brien , A000290
Experimente online!
Não sei como funciona, na verdade, existe apenas um programa que atende aos requisitos e sou apenas forçado a encontrar o idioma em que ele trabalhou.
Depois de examinar os documentos, sou capaz de apresentar uma explicação:
fonte
Pyth , 26 bytes, Steven H. , A023443
Código:
Experimente online .
Relativamente simples:
fonte
Python 3, 118 bytes, ETHproductions, A042545
Test it on Ideone.
Cop submission
What's different
The cop submission doesn't work in Python 3 for two reasons.
A função de entrada do Python 2 avalia automaticamente uma linha de entrada, enquanto a contrapartida do Python 3 retorna a linha como uma string. Podemos simplesmente chamar int para corrigir isso.
print
foi uma afirmação no Python 2, mas é uma função no Python 3. Em particular, isso significa que precisamos cercar seu argumento entre parênteses.Isso significa que precisamos
int()
e()
, but those characters aren't all part of the comment. That means we must make some changes.Em vez da fração s , registramos 1 / s .
A inicialização de s -
s=1/(801**.5-28)
- torna-ses=801**.5-28
, salvando os caracteres1/()
.O fator a [-1] na atualização de a -
int(s)
- se tornaint(1/s)
, custando os caracteres1/
.A atualização de s -
s=1/(s-int(s))
- se tornas=1/s-1//s
, custando os caracteres1//
, mas salvando os caracteres(int())
.Os caracteres salvos
()(int())
abrangem aqueles que precisávamos para portar o código para o Python 3, mas obtê-los nos custou1//
. Podemos tirar//
do comentário, mas teremos que salvar em1
outro lugar.Uma maneira (a única?) De salvar o necessário
1
é substituir o1
na inicialização de um por0==0
. Isso custa esses quatro caracteres, mas podemos pegar00
from the comment.Até agora, temos o seguinte código.
Para recuperar um dos
=
que agora "devemos", podemos reescrever a inicialização de s e a com uma única atribuição:s,a=801**.5-28,[0,0==0]
Além disso, isso salva a;
e custa a,
, que podem ser adicionados e removidos do comentário.O segundo
=
pode ser salvo não armazenando a entrada em uma variável, ou seja, escrevendo emrange(int(input()))
vez disso, salvando os caracteresi=
. Também usamos i após o loop, mas o i- ésimo elemento de a é apenas o segundo da direita, para que possamos substituí-loi
por-2
. Pela mesma razão,a[-2]
no corpo do loop pode ser substituído pori
.Agora temos uma permutação para trabalhar o código Python 3:
However, this code also works in Python 2! One way of fixing this is to replace
print(a[-2])
with(print(a[-2]),)
; we have the characters we need in the comment. As mentioned before, print is a function in Python 3, so this constructs the tuple (None,). However, Python 2's print statement is a SyntaxError inside a tuple literal.fonte
CJam, 39 bytes, milk, A000007
Try it here.
fonte
Pyth, 7 bytes, Luis Mendo, A000217
As requested, the program exits with error after
p
rinting the correct answer.Try it online here!
fonte
05AB1E, 12 bytes, tuskiomi, A000012
Try it online!
Explanation
fonte
05AB1E, 38 bytes, Conor O'Brien, A000290
Try it Online!
Explanation
This is based on Emigna's crack here.
fonte
05AB1E, 27 bytes, boboquack, A000012
Try it online
How it works:
fonte
CJam, 70 bytes, Shebang, A000217
Try it here.
fonte
Convex, 75 bytes, boboquack, A004526
Try it online
How it works:
fonte
Dip, 9 bytes, Kritixi Lithos
Definitely not the intended answer.
Explanation:
fonte
Pip, 6 bytes, DLosc, A000012
I figured I'd try the OP's esolang first ;-)
Try it online.
fonte
05AB1E, 25 bytes, Mego, A000583
Code:
Explanation:
Try it online!
fonte
Dip, 8 bytes, Oliver, A000042
Explanation
The funny thing is that this was the intended language! Dip is an esolang created by Oliver.
Test Cases and Running Dip from Command-Line
fonte
2sable, 14 bytes, Dopapp, A121377
Try it online.
How it works (more or less):
fonte
05AB1E, 4 bytes, Oliver, A000012
Try it online!
This is a sequence of
1
s.This outputs
1
no matter what the input is.fonte
Dip, 5 bytes, Oliver, A000012
The sequence just prints a
1
no matter what the input is. Oliver's answer prints a1.0
. This program also prints a1.0
. This apparently is the intended solution.Explanation
Alternative solution (courtesy of @milk)
Convex, 5 bytes
Try it online!
Explanation
fonte
"1"
) by every[input]
characters (since the input is a number.