Secara khusus, PRIMEGAME Conway .
Ini adalah algoritma yang dirancang oleh John H. Conway untuk menghasilkan bilangan prima menggunakan urutan 14 angka rasional:
A B C D E F G H I J K L M N
17 78 19 23 29 77 95 77 1 11 13 15 15 55
-- -- -- -- -- -- -- -- -- -- -- -- -- --
91 85 51 38 33 29 23 19 17 13 11 14 2 1
Sebagai contoh, F adalah fraksi 77/29
.
Jadi, inilah cara algoritma menemukan bilangan prima. Dimulai dengan angka 2
, cari entri pertama dalam urutan yang ketika dikalikan bersama menghasilkan integer. Berikut ini M
, 15/2
yang menghasilkan 15
. Kemudian, untuk bilangan bulat itu 15
, temukan entri pertama dalam urutan yang ketika dikalikan menghasilkan bilangan bulat. Itu yang terakhir N
,, atau 55/1
, yang menghasilkan 825
. Tulis urutan yang sesuai. (Yang cerdik di antara kamu mungkin mengenali ini sebagai program FRACTRAN .)
Setelah beberapa iterasi, Anda akan mendapatkan yang berikut ini:
2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, 910, 170, 156, 132, 116, 308, 364, 68, 4 ...
Perhatikan bahwa item terakhir yang tercantum adalah 4
, atau 2^2
. Lihatlah bilangan prima pertama kami ( 2
eksponen) yang dihasilkan dengan algoritma ini! Akhirnya, urutannya akan terlihat seperti berikut:
2 ... 2^2 ... 2^3 ... 2^5 ... 2^7 ... etc.
Jadi, menghasilkan bilangan prima. Ini adalah OEIS A007542 .
Tantangan
Diberikan nomor input n
, baik nol atau satu diindeks (pilihan Anda), baik output n
nomor pertama dari urutan ini, atau output n
nomor ke-5 dari urutan ini.
Contohnya
Contoh di bawah ini mengeluarkan n
istilah th dari urutan nol-diindeks.
n output
5 2275
19 4
40 408
Aturan
- Jika berlaku, Anda dapat mengasumsikan bahwa input / output akan sesuai dengan tipe Integer asli bahasa Anda.
- Input dan output dapat diberikan dengan metode apa pun yang mudah .
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
408.0
bukannya 408
misalnya.