Sua tarefa como ladrões é encontrar soluções para policiais e escrever um programa no idioma, desde que calcule o enésimo termo da sequência usando apenas os bytes no conjunto fornecido.
O objetivo será decifrar o maior número possível de respostas da polícia. Com cada crack, você recebe um único ponto.
As rachaduras não precisam ser a solução pretendida pelo policial, desde que funcionem.
sequence
restricted-source
cops-and-robbers
Post Rock Garf Hunter
fonte
fonte
Respostas:
Haskell, xnor
Experimente online!
A primeira linha define
s
como o ponto fixo dashow
função, que é a sequência infinitaTem
"
s nos índices 0, 2, 6, 14, 30 ... Poderes de dois, menos dois.A segunda linha define
ss
como a sequênciaPossui nons
\
nos índices 0, 1, 2, 4, 8, 16, 32 ... Poderes de dois, ignorando 0.Estamos com sorte: em ASCII,
"
<[
<\
, então podemos escrever uma função de indicador para as barras invertidas menos-na esta cadeia, e nós estamos feito!w h
é a nossa resposta: verifica se oh
'ésimo elemento dess
é menor que uma barra invertida. Bem, não podemos construir uma string contendo apenas uma barra invertida; portanto, construímos outra string sempre maior que"["
, a sabershow[h]
.fonte
Octave , Stewie Griffin
Função anônima.
Explicação
Experimente online!
fonte
JavaScript (ES6), Arnauld
Saídas
0, 1, 4, 9, 16, 25, ...
.Nomear a entrada
$
faz com que ela pareça um pouco mais complexa do que precisa ser.atob('ICo=')
avalia*
com espaço inicial (encontrado à mão). Isso faz${$}${atob(`ICo=`)}${$}
sern *n
onden
está a entrada.eval
ing dá o quadrado.Mostrar snippet de código
fonte
a=>eval(`a${atob`ICo`}a`)
. Obviamente, qualquer outra letra pode ser usada como variável de entrada. (Mesmo se você quer usar$
, você não precisa fazer${$}
.)${$}
é realmente muito burro.Python 2, Rod
Muito abaixo do ideal. Código:
Experimente online!
fonte
and
enot
com o()
que fazer1
e0
. :(import
estava disponível, assim comofrom
d
, mas é necessário usar todos os bytes pelo menos uma vez?sum
Christian Sievers Haskell
Experimente online!
Nota: a
product(map(pred)mempty)
linha 5 é diferente da linha 1, porque a primeira é do tipo,Int
enquanto a segunda é do tipoInteger
.fonte
mempty
! Da próxima vez que eu disserHaskell 98
... Você pode ficar semy
? Mas usarproduct
é a idéia principal, então acho que não inicio uma nova versão desse desafio. E eu gostaria que houvesse (ou eu pudesse definir) um limite de tempo. BTW,ao
parece desnecessário complicado.ao
é supérfluo, porqueaddone(x)=head(drop(product(map(pred)mempty))(enumFrom(x)))
. Eone(x)=product(enumFromTo(x)(pred(x)))
ondex
está o número de entrada, mas isso não funciona para o1
usado comdrop
.Christian Sievers Haskell
Experimente online!
fonte
Christian Sievers Haskell
Experimente online!
fonte
head
no lugar certo. Como todos os outros desafios, foi bastante divertido.Bruce Forte Python 2
Experimente online!
Uau. Essa foi engraçada.
fonte
Jarko R
Eu não conheço R, então isso é apenas um palpite.
Experimente online!
fonte
R , Jarko
Experimente online!
Definitivamente, levei cinco minutos para tentar descobrir como obter
1
as cartas, mas então lembrei que**
é^
assim que funcionou bem! (e0^0=1
em R)fonte
**=^
. Não sabia disso.n==n
btw.f=function(n,c=n==n)'if'(n,f(n-(n==n),c*n),c*(n==n))
f=function(n)'if'(n-n==n,n**n,n*f(n-(n**(n-n))))
cQuents, Step Hen
This seems to do the trick:
Try it online!
fonte
C (gcc), dj0wns
Try it online! Digraphs, digraphs everywhere!
fonte
Ruby, Value Ink
With -n flag,
p$./$$
Este é o meu palpite para a solução pretendida. Ignora a entrada e apenas gera o piso de 1 / o ID do processo. Como a identificação do processo geralmente não pode ser 0 ou 1, sempre deve ser 0.
fonte
Haskell , Sievers cristãos
Experimente online!
fonte
Haskell, Laikoni
Se retornar um
Int
for bom o suficiente, faça isso:fonte
Javascript, iovoid
Try it online!
fonte
Haskell, Christian Sievers
Try it online!
Finally fixed it for Integers rather than Ints. Very slow.
fonte
maxBound::Int
, so I think this is not correct.g
? - BTW, you could have usedu(n)=negate(pred(negate(n)))
u
, I wish I thought of that. I don't know how to do it withoutg
, I found it really hard to define addition for Integers with your byteset.Befunge, Jordan
Try it Online!
fonte
R, Jarko, again
Isso difere da solução pretendida por Jarko Dubbeldam, mas a idéia geral é a mesma: para gerar tempos
1:n
repetidos1:n
, ela se utilizadiag
de duas maneiras diferentes:diag(matrix)
retorna a diagonal de uma matriz.diag(vector, nrow)
gera uma matriznrow
xnrow
aovector
longo da diagonal, reciclando conforme necessário.%x%
é o produto da matriz Kronecker que, quando aplicado a dois números, retorna seu produto usual.Por fim,
cat
imprime a diagonal com osep
arator, o''
que resulta na sequência.Experimente online!
fonte
Yimin Rong C
t
é a multiplicação,r
é exponenciação,g
é a função real. Novas linhas adicionadas para facilitar a leitura, elas não são necessárias.fonte
Haskell , Sievers cristãos
Experimente online!
fonte
__ ___=[-___-___-___,___..]!!___
R por Jarko Dubbeldam
Demorei um pouco, já que eu não conhecia R e não consegui usar
t
duas vezes:Experimente online!
Explicação
Ele usa o fato de que
cos(t*pi/2)
possui um período de4
int
e a sequência começa com: [1, 6.123234e-17, -1, -1.83697e-16]. Como você pode ver, os sinais estão corretos, portanto, precisamos apenas normalizar os valores, mas mantendo o sinal - é o quex/abs(x)
servex != 0
.Verifique a fonte!
fonte
cos(t=scan())
não funcionaria porque R não pode distinguir entre=
para atribuição ou especificação de argumento. No aparelho, no entanto, isso não é um problema:cos((t=scan()))
mas é mais longo quecos(t<-scan())
, portanto, não é usado no golfe.*
era um arenque vermelho ecospi
realmente corretamente calculacos(pi/2)=0
... e isso vai ser 1-indexados comsin
ao invés decos
CPython 3.6, por wizzwizz4 (A000002)
Eu escrevi manualmente as linhas até
ll=list(dd)
, mas o restante do código foi gerado por este programa python:O código gerado quase certamente poderia ser melhor jogado, mas isso tornaria o código do gerador mais complicado.
fonte
Python 3 , Sr. Xcoder
Experimente online!
fonte
Python , totalmente humano
Experimente online!
Nós realmente deveríamos parar de postar nossas respostas do desafio anterior da OEIS :)
fonte
Python 2 , Rod
Experimente online!
fonte
Python 2 , Bobawob
Experimente online!
fonte
Python 2, totalmente humano
Experimente online!
fonte
int(...)
Python 2 , totalmente humano
Experimente online!
fonte
Gelatina, fireflame241
Experimente online!
fonte