Primus-Orderus Primes


15

Siapa mereka?

Primus-Orderus Primes (POP) adalah bilangan prima yang berisi urutannya dalam urutan bilangan prima.
Jadi yang nthutama, agar menjadi POP, harus berisi semua digit ndengan cara tertentu yang akan saya jelaskan.

Contohnya

Mari kita perjelas: Semua digit nharus muncul di antara digit POP dengan urutan yang sama dengan yang ditampilkann

The 6469thutama adalah 64679yang POP karena mengandung semua digit 6469dalam urutan yang benar.
1407647POP karena itu adalah 107647thbilangan prima

14968819 adalah POP (968819 prime). Jadi tantangan ini BUKAN OEIS (A114924)

1327 BUKAN POP karena itu adalah 217thbilangan prima (angka tidak dalam urutan yang benar)

Tantangan

Anda menebak dengan benar!
Diberikan bilangan bulat n, keluaran nthPOP

Uji Kasus

input-> output

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

Ini adalah sehingga jawaban tersingkat dalam byte menang!

Semua ini harus diindeks 1


Pilihan 0-diindeks, 1-diindeks atau dealer?
Shaggy

@ Shaggy Saya pikir ini adalah 1-diindeks sehingga kompatibel dengan kasus uji (Urutan semacam itu penting).
Tn. Xcoder

@ Mr.Xcoder Ini adalah POP pertama, perdana ke-7

@ MrXcoder: yeah, maaf, saya mungkin mengatakan itu dengan buruk; apa yang ingin saya tanyakan adalah pengindeksan 0 diizinkan? Jelas, dari uji kasus, 1-pengindeksan yang diperbolehkan. Apakah kita memiliki konsensus, dengan cara apa, pengindeksan yang dapat kita gunakan dalam sebuah tantangan jika yang harus kita lewati hanyalah kasus uji dan tidak ada yang secara eksplisit disebutkan dalam spesifikasi tantangan?
Shaggy

1
Terima kasih, Bill. Sementara, sebagian besar, tantangan Anda baru-baru ini sangat baik, masing-masing dari mereka memiliki masalah kecil atau 2 yang harus diselesaikan dalam komentar, itulah sebabnya saya menyarankan Anda mulai Sandbox tantangan Anda, untuk memungkinkan kita untuk menangkap masalah itu.
Shaggy

Jawaban:


3

Mathematica, 104 byte

Sangat efisien

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


menemukan n = 34 dalam waktu kurang dari satu menit


2

Sekam , 11 byte

!fS¤o€Ṗdṗİp

Cobalah online!

Tidak secepat itu, menghitung f (5) dalam waktu sekitar 30 detik pada TIO

Penjelasan

!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

2

Python 2 + gmpy2 , 188 162 byte

Cukup efisien, menemukan n = 34 dalam 22 detik di TIO!

Mungkin bisa bermain golf sedikit

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

Cobalah online!


@Dappapp, bukankah itu menambah byte? __import__("gmpy2").lebih panjang darifrom gmpy2 import*\n
Halvard Hummel

Oh benar, saya tidak tahu mengapa itu berbeda saat pertama kali. Saya mungkin lupa tanda kutip atau sesuatu
Daniel


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.