Definisi
Sebuah bijection dari satu set
S
ke setT
adalah fungsi dariS
keT
sehingga salah satu unsur dalamT
dipetakan oleh tepat satu elemen diS
.Sebuah bijih di dalam set
S
adalah bijih dariS
keS
.The bilangan adalah bilangan bulat yang lebih besar dari atau sama dengan
0
.Sebuah bagian dari suatu himpunan
S
adalah satu set sehingga setiap elemen dalam set juga diS
.Sebuah subset dari set
S
adalah satu set yang merupakan bagian dariS
yang tidak sama denganS
.
Tugas
Tulis program / fungsi yang mengambil bilangan asli sebagai input dan menghasilkan bilangan alami. Itu harus menjadi sebuah peninggalan, dan gambar bilangan prima di bawah program / fungsi {f(p) : p ∈ ℙ}
,, harus menjadi subset yang tepat ℙ
, di mana ℙ
bilangan prima.
Mencetak gol
Ini adalah kode-golf . Jawaban terpendek dalam byte menang. Celah standar berlaku .
Jawaban:
Mathematica,
5448 byteMendefinisikan bijection berikut:
Ide dasarnya adalah memetakan setiap prime ke yang berikutnya, untuk memastikan bahwa mereka dipetakan ke subset yang tepat. Ini menghasilkan "celah" pada 2 . Untuk mengisi celah itu, kami ingin memetakan 4 hingga 2 dan kemudian masing-masing nomor komposit lainnya ke nomor komposit sebelumnya, untuk "menggembungkan" celah tersebut. Karena 2 dan 3 adalah hanya dua bilangan prima yang berdekatan, kita dapat mengekspresikan kedua pemetaan tersebut sebagai " n-1 atau jika itu bilangan prima, maka n-2 ". Akhirnya, pemetaan ini akhirnya mengirim 1 ke 0 dan kami membuatnya mengirim 0 kembali ke 1 dengan mengambil nilai absolut n-1 .
sumber
0
?MATL , 21 byte
Terima kasih kepada Emigna karena menemukan kesalahan, sekarang diperbaiki
Cobalah online!
Ini mengimplementasikan penambangan berikut. Tuliskan bilangan prima secara berturut-turut dan non-bilangan prima di bawah ini:
Kemudian output diperoleh dengan mengikuti panah dari input:
Kode yang dijelaskan
sumber
Jelly , 14 byte
Cobalah online!
Menggunakan algoritma Luis.
sumber
JavaScript (ES6),
827775 byteMenerapkan logika yang sama dengan jawaban Luis Mendo .
Diformat dan dikomentari
Demo
Tampilkan cuplikan kode
sumber
Jelly , 12 byte
Cobalah online!
Bagaimana itu bekerja
sumber