Primus-Orderus Primes

15

Quem são eles?

Primos Primus-Orderus (POP) são primos que contêm sua ordem na sequência de primos.
Portanto, o nthprimo, para ser POP, deve conter todos os dígitos de numa certa maneira que eu explicarei.

Exemplos

Vamos esclarecer as coisas: todos os dígitos de ndevem aparecer entre os dígitos de POP na mesma ordem em que aparecem emn

O 6469thprincipal é 64679POP, porque contém todos os dígitos 6469na ordem correta.
1407647é POP porque é o 107647thnúmero primo

14968819 é POP (968819th prime). Portanto, este desafio NÃO é OEIS (A114924)

1327 NÃO é POP porque é o 217thprimo (os dígitos não estão na ordem correta)

O desafio

Você adivinhou certo!
Dado um número inteiro n, imprima o nthPOP

Casos de teste

entrada-> saída

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

Isso é então a resposta mais curta em bytes vence!

Todos estes devem ser 1-indexados


fonte
0 indexado, 1 indexado ou a escolha do revendedor?
Shaggy
@ Shagy Acho que isso é indexado em 1, de forma que seja compatível com os casos de teste (o tipo de ordem é importante).
Xcoder
@ Mr.Xcoder É o 1º POP, 7 nobre
@ MrXcoder: sim, desculpe, eu provavelmente escrevi mal isso; o que eu queria perguntar é permitida a indexação 0? Obviamente, nos casos de teste, a indexação 1 é permitida. A propósito, temos um consenso sobre qual indexação podemos usar em um desafio se tudo o que temos a fazer são os casos de teste e não há menção explícita nas especificações do desafio?
Shaggy
1
Obrigado, Bill. Embora, na maioria das vezes, seus desafios recentes tenham sido muito bons, cada um deles teve um problema menor ou 2 que precisou ser esclarecido nos comentários, e é por isso que eu sugiro que você inicie o Sandboxing de seus desafios, para nos permitem capturar esses problemas.
Shaggy

Respostas:

3

Mathematica, 104 bytes

Extremamente eficiente

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


encontra n = 34 em menos de um minuto

J42161217
fonte
2

Casca , 11 bytes

!fS¤o€Ṗdṗİp

Experimente online!

Não tão rápido, calcula f (5) em cerca de 30 segundos no TIO

Explicação

!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
Leo
fonte
2

Python 2 + gmpy2 , 188 162 bytes

Bastante eficiente, encontra n = 34 em 22 segundos no TIO!

Provavelmente poderia ser jogado um pouco

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

Experimente online!

Halvard Hummel
fonte
@ Dopapp, isso não adicionaria bytes? __import__("gmpy2").é mais longo quefrom gmpy2 import*\n
Halvard Hummel
Oh, certo, eu não sei por que isso saiu diferente da primeira vez. Eu provavelmente esqueceu as aspas ou algo
Daniel
1

05AB1E , 11 bytes

µN<Ø©æNå½}®

Experimente online!

Extremamente ineficiente.

Erik, o Outgolfer
fonte