Su tarea como ladrones es encontrar soluciones de policías y escribir un programa en el lenguaje provisto que calcule el enésimo término de la secuencia utilizando solo los bytes del conjunto proporcionado.
El objetivo será descifrar tantas respuestas de policías como sea posible. Con cada grieta que te otorga un solo punto.
Las grietas no necesitan ser la solución prevista del policía mientras funcionen.
sequence
restricted-source
cops-and-robbers
Post Rock Garf Hunter
fuente
fuente
Respuestas:
Haskell, xnor
Pruébalo en línea!
La primera línea se define
s
como el punto fijo de lashow
función, que es la cadena infinitaTiene
"
s en los índices 0, 2, 6, 14, 30 ... Potencias de dos, menos dos.La segunda línea define
ss
como la cadena.Tiene no-
\
s en los índices 0, 1, 2, 4, 8, 16, 32 ... Potencias de dos, ignorando 0.Estamos de suerte: en ASCII,
"
<[
<\
, por lo que podemos escribir una función de indicador para las barras invertidas menos-que-en esta cadena, y ya está!w h
es nuestra respuesta: comprueba si elh
'elemento thss
es menor que una barra diagonal inversa. Bueno, no podemos construir una cadena que contenga solo una barra invertida, así que construimos otra cadena que siempre es más grande que"["
, a sabershow[h]
.fuente
Octave , Stewie Griffin
Función anónima.
Explicación
Pruébalo en línea!
fuente
JavaScript (ES6), Arnauld
Salidas
0, 1, 4, 9, 16, 25, ...
.Nombrar la entrada
$
hace que parezca un poco más complejo de lo que tiene que ser.atob('ICo=')
evalúa a*
con espacio inicial (encontrado a mano). Esto hace que${$}${atob(`ICo=`)}${$}
sean *n
donden
está la entrada.eval
ing da el cuadrado.Mostrar fragmento de código
fuente
a=>eval(`a${atob`ICo`}a`)
. Por supuesto, cualquier otra letra puede usarse como la variable de entrada. (Incluso si quiere usar$
, no necesita hacerlo${$}
.)${$}
es bastante tonto.Python 2, Rod
Aunque muy subóptimo. Código:
Pruébalo en línea!
fuente
and
ynot
con()
que hacer1
y0
. :(import
estaba disponible, así comofrom
d
, pero ¿es necesario usar todos los bytes al menos una vez?sum
Haskell, Christian Sievers
Pruébalo en línea!
Nota: la
product(map(pred)mempty)
línea 5 es diferente a la línea 1, porque la primera es de tipoInt
mientras que la segunda es de tipoInteger
.fuente
mempty
! La próxima vez que digaHaskell 98
... ¿Puedes prescindiry
? Pero el usoproduct
es la idea principal, por lo que creo que no comienzo una nueva versión de este desafío. Y deseé que hubiera (o podría establecer) un límite de tiempo. Por cierto,ao
parece innecesariamente complicado.ao
es superfluo, porqueaddone(x)=head(drop(product(map(pred)mempty))(enumFrom(x)))
. Yone(x)=product(enumFromTo(x)(pred(x)))
dóndex
está el número de entrada, pero eso no funciona para el1
usado condrop
.Haskell, Christian Sievers
Pruébalo en línea!
fuente
Haskell, Christian Sievers
Pruébalo en línea!
fuente
head
en el lugar correcto. Como todos sus otros desafíos, fue bastante divertido.Python 2, Bruce Forte
Pruébalo en línea!
Guau. Esto fue divertido.
fuente
R, Jarko
No sé R en absoluto, así que esto es solo una suposición.
Pruébalo en línea!
fuente
R , Jarko
Pruébalo en línea!
Definitivamente me llevó un buen cinco minutos para tratar de encontrar la manera de obtener
1
a partir de las letras, pero luego recordé que**
es^
por lo que funcionó muy bien! (y0^0=1
en R)fuente
**=^
? No lo sabia.n==n
cierto.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
Esto parece hacer el truco:
Pruébalo en línea!
fuente
C (gcc) , dj0wns
Pruébalo en línea! Dígrafos, ¡dígrafos por todas partes!
fuente
Ruby, tinta de valor
Con la bandera -n,
p$./$$
Esta es mi suposición para la solución prevista. Ignora la entrada y solo emite el piso de 1 / la identificación del proceso. Dado que la identificación del proceso generalmente no puede ser 0 o 1, siempre debe ser 0.
fuente
Haskell , Christian Sievers
Pruébalo en línea!
fuente
Haskell Laikoni
Si devolver un
Int
es lo suficientemente bueno, esto lo hace:fuente
Javascript, iovoide
Pruébalo en línea!
fuente
Haskell, Christian Sievers
Pruébalo en línea!
Finalmente lo arreglé para Integers en lugar de Ints. Muy lento.
fuente
maxBound::Int
, así que creo que esto no es correcto.g
? - Por cierto, podrías haber usadou(n)=negate(pred(negate(n)))
u
, desearía haber pensado en eso. No sé cómo hacerlo sin élg
, me resultó muy difícil definir la suma de números enteros con su byteset.Befunge , Jordan
Pruébalo en línea!
fuente
R , Jarko, otra vez
Esto difiere de la solución prevista de Jarko Dubbeldam, pero la idea general es la misma: para generar tiempos
1:n
repetidos1:n
, aprovechadiag
de dos maneras diferentes:diag(matrix)
devuelve la diagonal de una matriz.diag(vector, nrow)
genera una matriznrow
xnrow
convector
largo de la diagonal, reciclando según sea necesario.%x%
es el producto matriz de Kronecker que cuando se aplica a dos números devuelve su producto habitual.Finalmente,
cat
imprime la diagonal consep
arator''
que da como resultado la secuencia.Pruébalo en línea!
fuente
C, Yimin Rong
t
es multiplicación,r
es exponenciación,g
es la función real. Se agregaron nuevas líneas para facilitar la lectura, no son necesarias.fuente
Haskell , Christian Sievers
Pruébalo en línea!
fuente
__ ___=[-___-___-___,___..]!!___
R por Jarko Dubbeldam
Me tomó un tiempo ya que no conozco R y no pude usar
t
dos veces:Pruébalo en línea!
Explicación
Se utiliza el hecho de que
cos(t*pi/2)
tiene un período de4
ent
y la secuencia comienza con: [1, 6.123234e-17, -1, -1.83697e-16]. Como puede ver, los signos son correctos, por lo que solo necesitamos normalizar los valores pero mantener el signo: eso es lo quex/abs(x)
sirvex != 0
.¡Comprueba la fuente!
fuente
cos(t=scan())
no funcionaría porque R no puede distinguir entre=
asignación o especificación de argumento. Sin embargo, en los aparatos ortopédicos, esto no es un problemacos((t=scan()))
, pero es más largo quecos(t<-scan())
, por lo que no se usa cuando se juega al golf.*
era un arenque rojo ycospi
realmente calcula correctamentecos(pi/2)=0
... y esto se indexará con 1 ensin
lugar decos
CPython 3.6, por wizzwizz4 (A000002)
Escribí manualmente las líneas hasta
ll=list(dd)
, pero el resto del código fue generado por este programa de Python:Es casi seguro que el código generado podría jugar mejor, pero eso haría que el código del generador sea más complicado.
fuente
Python 3 , Sr. Xcoder
Pruébalo en línea!
fuente
Python , totalmente humano
Pruébalo en línea!
Realmente deberíamos dejar de publicar nuestras respuestas del desafío anterior de OEIS :)
fuente
Python 2 , Rod
Pruébalo en línea!
fuente
Python 2 , Bobawob
Pruébalo en línea!
fuente
Python 2, totalmente humano
Pruébalo en línea!
fuente
int(...)
Python 2 , totalmente humano
Pruébalo en línea!
fuente
Jalea, llama de fuego241
Pruébalo en línea!
fuente