Primus-Orderus Primes

15

¿Quienes son?

Los Primus-Orderus Primes (POP) son primos que contienen su orden en la secuencia de primos.
Entonces, el nthprimo, para ser POP, debe contener todos los dígitos de nuna manera determinada que explicaré.

Ejemplos

Vamos a aclarar las cosas: todos los dígitos de ndeben aparecer entre los dígitos de POP en el mismo orden en que aparecenn

El 6469thprincipal es 64679el POP porque contiene todos los dígitos 6469en el orden correcto.
1407647es POP porque es el 107647thnúmero primo

14968819 es POP (968819 prime) .Así que este desafío NO es OEIS (A114924)

1327 NO es POP porque es 217thprimo (los dígitos no están en el orden correcto)

El reto

¡Lo adivinaste!
Dado un entero n, genera el nthPOP

Casos de prueba

entrada-> salida

1->17
3->14723    
5->57089
10->64553 
29->284833  
34->14968819

Este es el por lo que gana la respuesta más corta en bytes.

Todos estos deben estar indexados 1


fuente
¿Índice 0, índice 1 o elección del concesionario?
Shaggy
@ Shaggy Creo que esto está indexado de manera tal que es compatible con los casos de prueba (el tipo de orden importa).
Sr. Xcoder
@ Mr.Xcoder Es el 1er POP, 7 ° prime
@ MrXcoder: sí, lo siento, probablemente lo expresé mal; lo que quería preguntar es ¿está permitida la indexación 0? Obviamente, a partir de los casos de prueba, se permite la indexación 1 . ¿Tenemos un consenso, por cierto, sobre qué indexación podemos usar en un desafío si solo tenemos que pasar por los casos de prueba y no hay una mención explícita en las especificaciones del desafío?
Shaggy
1
Gracias Bill. Si bien, en su mayor parte, sus desafíos recientes han sido muy buenos, cada uno de ellos ha tenido un problema menor o 2 que tuvo que aclararse en los comentarios, por lo que le sugiero que comience Sandboxing sus desafíos, para permítanos atrapar esos problemas.
Shaggy

Respuestas:

3

Mathematica, 104 bytes

Extremadamente eficiente

(t=i=1;While[t<#+1,If[!FreeQ[Subsets[(r=IntegerDigits)@Prime@i,{Length@r@i}],r@i],t++];i++];Prime[i-1])&


encuentra n = 34 en menos de un minuto

J42161217
fuente
2

Casco , 11 bytes

!fS¤o€Ṗdṗİp

Pruébalo en línea!

No tan rápido, calcula f (5) en alrededor de 30 segundos en TIO

Explicación

!fS¤o€Ṗdṗİp
 f       İp    Filter the list of prime numbers and keep only those for which:
  S¤o€Ṗdṗ       The "d"igits of its index in the "ṗ"rime numbers are an "€"lement of the 
                  "Ṗ"owerset of its "d"igits
!              Return the element at the desired index of this filtered list
León
fuente
2

Python 2 + gmpy2 , 188 162 bytes

¡Muy eficiente, encuentra n = 34 en 22 segundos en TIO!

Probablemente podría jugar un poco al golf

from gmpy2 import*
def F(a,b):
 i=k=0
 while b[i:]and a[k:]:k+=a[k]==b[i];i+=1
 return"0">a[k:]
x=input()
u=z=1
while x:z=next_prime(z);x-=F(`u`,`z`);u+=1
print z

Pruébalo en línea!

Halvard Hummel
fuente
@Dopapp, ¿eso no agregaría bytes? __import__("gmpy2").es más largo quefrom gmpy2 import*\n
Halvard Hummel
Ah, claro, no sé por qué eso salió diferente la primera vez. Probablemente olvidé las comillas o algo así
Daniel