Defina una secuencia indexada de 1 de la siguiente manera:
A083569(1) = 1A083569(n)dondenes un número entero mayor que1, es el número entero más pequeño m que no aparece antes, de modo quem+nes un número primo.
Su tarea es acoger ny regresar A083569(n).
n A083569(n)
1 1
2 3
3 2
4 7
5 6
6 5
7 4
8 9
9 8
10 13
11 12
12 11
13 10
14 15
15 14
16 21
17 20
18 19
19 18
20 17
Más casos de prueba se pueden encontrar aquí . La secuencia original en OEIS se puede encontrar aquí .
Este es el código de golf . La respuesta más corta en bytes gana. Se aplican lagunas estándar .

Respuestas:
Haskell ,
878683807469 bytes¡Gracias a xnor por sugerir algunos cambios que ahorraron 3 bytes!
Pruébalo en línea!
Soy nuevo en Haskell, y en Haskell golf, ¡se agradecen sus comentarios!
Explicación
Definimos una función
f n. Definimosf nser el primer elemento!!0de la lista:Desglosado que es:
fuente
[2,3..]solo puede haber[2..], contando por 1 es el predeterminado. Hay un incorporadonotElem.notElempero el primer consejo fue útil y me aseguraré de mantener el segundo en mi bolsillo trasero.f 1equivoca, debería ser 1.Jalea ,
1615 bytesEsto supone A083569 (n) ≤ n² (la secuencia parece estar creciendo linealmente).
Pruébalo en línea!
Cómo funciona
fuente
A083569(n)es a lo sumo elnprimer primo mayor quenpor su definición, que es a lo sumo el2nprimer primo, que (paran≥3) es menor que4n*log(n)por los resultados de Rosser-Schoenfeld.Pyth -
181715 bytes¡Gracias a @isaacg por salvarme dos bytes!
De vuelta en este sitio, después de haber estado ocupado por un tiempo, esperamos que este golf aún más.
Pruébelo en línea aquí .
fuente
-TYes un byte más corto!/YTy verdadero en los mismos casos.+hdTa+Th.C # (.NET Core) , 169 bytes
Pruébalo en línea!
Con mucho, la forma más eficiente para el cálculo de los resultados, así que por favor absténgase de cálculo
f(n)paran>=30con este código. El primer paso es calcular de forma recursiva los valores def(1)af(n-1)y luego proceder a calcularf(n)mediante la búsqueda de la primeraide tal manera quen+ies primo yino está en la lista de valores anterior.fuente
Conjunto x86-64,
5755 bytesSoy nuevo en el golf, por lo que se agradecen los comentarios / comentarios.
Nota: esto está optimizado para la longitud del código de máquina, no para la longitud de la fuente.
Define una función, utilizando la convención estándar (es decir, valor de retorno en eax, primer argumento en edi, todos los registros guardados por el llamador excepto ebx) que toma un entero de 32 bits sin signo y devuelve el m más pequeño, etc.
Fuente:
Pruébalo en línea!
fuente
Clojure,
158155bytesEsto aún podría tener algo de grasa, no estoy muy contento,
(+ 1 i j)pero esta fue la forma más fácil de manejar el caso basen = 1y el resto.((set r)j)devuelvenilsijno está en el conjunto, y(seq ())en una lista vacía también devuelve nil. Calculan = 1000en 48 segundos.Actualización: eliminado
nilde la=verificación ya que el código funciona correctamente también sin él.fuente
Ruby , 62 + 8 = 70 bytes
Usa la
-rprimebandera.Pruébalo en línea!
fuente
Python,
194170110 bytes84 bytes guardados por Leaky Nun
2 bytes guardados por Mathmandan
Define una función s (n) que toma un número como entrada y devuelve A083569 (n).
Pruébalo en línea
fuente
p=lambda n:any(n%i<1for i in range(2,n))para la comprobación de primalidad.while(i in a)|any(...