Preparando un mundo prístino

11

Muy inspirado por la programación de un mundo prístino . También estrechamente relacionado con este desafío .


Definamos un primo prístino como un número que es primo en sí mismo, pero ya no será primo si elimina cualquier subcadena contigua de N dígitos de base 10, donde 0 < N < digits in number.

Por ejemplo, 409 es un primo inmaculado porque 409 en sí mismo es primo, pero todos los números que resultan de eliminar una subcadena de 1 dígito no son primos:

40
49
09 = 9

y todos los números resultantes de eliminar subcadenas de longitud 2 no son primos:

4
9

Por otro lado, el número primo 439 no es prístino. Eliminar las diferentes subcadenas da como resultado:

43
49
39
4
9

Mientras que 49, 39, 4 y 9 no son primos, 43 es primo; por lo tanto, 439 no es inmaculado.

2, 3, 5 y 7 son trivialmente inmaculados, ya que no pueden quitarse ninguna subcadena.

Desafío

Su desafío es crear un programa o función que tome un entero positivo N y genere el enésimo primo prístino. El código debería terminar en menos de 1 minuto en cualquier PC moderna para cualquier entrada de hasta 50.

El código más corto en bytes gana.

Como referencia, aquí están los primeros 20 primos prístinos:

N    Pristine prime
1    2
2    3
3    5
4    7
5    11
6    19
7    41
8    61
9    89
10   409
11   449
12   499
13   821
14   881
15   991
16   6299
17   6469
18   6869
19   6899
20   6949

Aquí hay una lista completa de primos prístinos hasta 1e7, o N = 376.

Finalmente, aquí hay dos entradas OEIS relacionadas:

  • A033274 : muy similar, pero generado al mantener las subcadenas en lugar de eliminarlas.
  • A071062 : extrañamente similar, pero generado de una manera muy diferente.
ETHproductions
fuente

Respuestas:

5

Pyth, 29 bytes

e.f>}ZPZsmq1lPs.D`Z}Fd.CU`Z2Q

Golf, explicación, etc. a seguir.

isaacg
fuente
4

CJam, 51 bytes

1ri{{)_mp1$s_,)2m*{:>},\f{\~2$<@@>+0e|imp}1b!&!}g}*

Solo un primer paso, esto probablemente se puede mejorar mucho.

Pruébalo aquí.

Martin Ender
fuente
3

Japt, 61 bytes

$while(V<U)T$°,W=Ts ,Tj «Wl o d@1o1-X+Wl)dZ{WjYZ n j} } ©V°;T

Pruébalo en línea!

Es una pena que todavía no haya implementado bucles en Japt, de lo contrario, esto sería un poco más corto. Todavía jugando al golf ...

ETHproductions
fuente