Ini adalah urutan A054261 .
The th nomor penahanan utama adalah jumlah terendah yang berisi pertama bilangan prima sebagai substring. Misalnya, angka adalah angka terendah yang berisi 3 bilangan prima pertama sebagai substring, menjadikannya bilangan penampung prima ke-3.
Sepele untuk mengetahui bahwa empat nomor penahanan prima pertama adalah , , 235 dan 2357 , tetapi kemudian semakin menarik. Karena bilangan prima berikutnya adalah 11, bilangan penampung perdana berikutnya bukan 235711 , tetapi angka 112357 karena bilangan prima terkecil dengan properti.
Namun, tantangan sebenarnya datang ketika Anda melampaui 11. Nomor penahanan utama berikutnya adalah . Perhatikan bahwa dalam nomor ini, substring 11
dan 13
tumpang tindih. Jumlahnya 3
juga tumpang tindih dengan nomor tersebut 13
.
Mudah untuk membuktikan bahwa urutan ini meningkat, karena nomor berikutnya harus memenuhi semua kriteria nomor sebelum itu, dan memiliki satu substring lagi. Namun, urutannya tidak meningkat secara ketat, seperti yang ditunjukkan oleh hasil untuk n=10
dan n=11
.
Memasukkan
Bilangan bulat tunggal n>0
(saya kira Anda juga bisa memilikinya 0-diindeks, kemudian membuat n>=0
)
Keluaran
Entah n
nomor penahanan utama th, atau daftar yang berisi n
nomor penahanan perdana pertama .
Angka yang saya temukan sejauh ini adalah:
1 => 2
2 => 23
3 => 235
4 => 2357
5 => 112357
6 => 113257
7 => 1131725
8 => 113171925
9 => 1131719235
10 => 113171923295
11 => 113171923295
12 => 1131719237295
Perhatikan bahwa n = 10
dan n = 11
adalah angka yang sama, karena adalah angka terendah yang berisi semua angka , tetapi juga berisi .
Karena ini ditandai kode golf, dapatkan golf! Solusi brute force diperbolehkan, tetapi kode Anda harus bekerja untuk setiap input dalam teori (yang berarti bahwa Anda tidak bisa hanya menggabungkan bilangan prima n pertama). Selamat bermain golf!
P
operator membuat pemetaan eksplisit untuk memeriksa bilangan prima dalam bilangan (alih-alih memeriksa apakah bilangan tersebut dalam array bilangan prima)? Ini adalah solusi yang indah, saya ragu Anda bisa membuat solusi menggunakan perintah lebih sedikit.