Primus-Orderus Primes

15

Kim oni są?

Primus-Orderus Primes (POP) to liczby pierwsze, które zawierają ich kolejność w sekwencji liczb pierwszych.
Zatem liczba nthpierwsza, aby być POP, musi zawierać wszystkie cyfry nw określony sposób, który wyjaśnię.

Przykłady

Sprawmy, żeby wszystko było wyraźniejsze: wszystkie cyfry nmuszą występować wśród cyfr POP w tej samej kolejności, w jakiej występująn

6469thPierwsza to 64679co jest POP, ponieważ zawiera wszystkie cyfry 6469w odpowiedniej kolejności.
1407647jest POP, ponieważ jest 107647thliczbą pierwszą

14968819 to POP (968819th prime). Więc to wyzwanie NIE JEST OEIS (A114924)

1327 NIE jest POP, ponieważ jest 217thliczbą pierwszą (cyfry nie są w odpowiedniej kolejności)

Wyzwanie

Zgadłeś dobrze!
Podając liczbę całkowitą n, wyślij nthPOP

Przypadki testowe

wejście-> wyjście

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

To jest więc wygrywa najkrótsza odpowiedź w bajtach!

Wszystkie te powinny być indeksowane 1


źródło
0-indeksowany, 1-indeksowany czy wybór dealera?
Shaggy
@Shaggy Myślę, że jest to indeks 1, dzięki czemu jest zgodny z przypadkami testowymi (rodzaj spraw ma znaczenie).
Pan Xcoder,
@ Mr.Xcoder Jest to pierwszy POP, siódmy prime
@ MRXcoder: tak, przepraszam, prawdopodobnie źle to sformułowałem; o co chciałem zapytać, czy indeksowanie 0 jest dozwolone? Oczywiście z przypadków testowych dozwolona jest 1-indeksacja . Nawiasem mówiąc, czy mamy konsensus co do tego, które indeksowanie możemy zastosować w wyzwaniu, jeśli wszystko, co musimy przejść, to przypadki testowe i nie ma wyraźnej wzmianki w specyfikacji wyzwania?
Shaggy
1
Dzięki, Bill. Podczas gdy w większości twoje ostatnie wyzwania były bardzo dobre, każde z nich miało niewielki problem lub 2, które musiały zostać wyjaśnione w komentarzach, dlatego sugeruję, abyś zaczął piaskownicować swoje wyzwania, aby pozwól nam złapać te problemy.
Shaggy

Odpowiedzi:

3

Mathematica, 104 bajty

Niezwykle wydajny

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


znajduje n = 34 w mniej niż minutę

J42161217
źródło
2

Łuska , 11 bajtów

!fS¤o€Ṗdṗİp

Wypróbuj online!

Nie tak szybko, oblicza f (5) w około 30 sekund na TIO

Wyjaśnienie

!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
Lew
źródło
2

Python 2 + gmpy2 , 188 162 bajtów

Dość wydajny, znajduje n = 34 w 22 sekund na TIO!

Prawdopodobnie można trochę golfa

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

Wypróbuj online!

Halvard Hummel
źródło
@Dopapp, czy to nie dodaje bajtów? __import__("gmpy2").jest dłuższy niżfrom gmpy2 import*\n
Halvard Hummel
No tak, nie wiem, dlaczego to wyszło inaczej za pierwszym razem. Prawdopodobnie zapomniałem cudzysłowu lub czegoś takiego
Daniel
1

05AB1E , 11 bajtów

µN<Ø©æNå½}®

Wypróbuj online!

Niezwykle nieefektywny.

Erik the Outgolfer
źródło