Özellikle, Conway'in PRIMEGAME .
Bu, John H. Conway tarafından 14 rasyonel sayı dizisi kullanarak primler üretmek için geliştirilen bir algoritmadır:
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
Örneğin, F kesirdir 77/29.
Algoritma asal sayıları nasıl bulur. Sayı ile başlayarak 2, sıra ile çarpıldığında bir tamsayı üreten ilk girdiyi bulun. İşte bu kadar M, 15/2üretir, hangi 15. Daha sonra, bu tamsayı için 15, çarpıldığında bir tamsayı üreten dizideki ilk girişi bulun. Bu sonuncusu N, ya da 55/1veren 825. İlgili diziyi yazın. ( Aranızdaki zeki, bunu bir FRACTRAN programı olarak tanıyabilir .)
Bazı tekrarlardan sonra, aşağıdakileri elde edersiniz:
2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, 910, 170, 156, 132, 116, 308, 364, 68, 4 ...
Listelenen son öğenin 4veya olduğunu unutmayın 2^2. 2Bu algoritma ile oluşturulan ilk asal sayımıza ( üs) bakın! Sonunda, dizi aşağıdaki gibi görünecektir:
2 ... 2^2 ... 2^3 ... 2^5 ... 2^7 ... etc.
Böylece asal sayıları verir. Bu OEIS A007542 .
Meydan okuma
nSıfır veya bir indeksli (seçiminiz) bir giriş numarası verildiğinde n, bu dizinin ilk sayılarını veya bu dizinin nth sayısını verir.
Örnekler
Aşağıdaki örnekler n, sıfır indeksli sekansın teriminin çıktısını vermektedir .
n output
5 2275
19 4
40 408
kurallar
- Varsa, giriş / çıktının dilinizin yerel Tamsayı türüne uygun olacağını varsayabilirsiniz.
- Giriş ve çıkış herhangi bir uygun yöntemle verilebilir .
- Tam bir program veya bir işlev kabul edilebilir. Bir işlev varsa, çıktıyı yazdırmak yerine döndürebilirsiniz.
- Standart boşluklar yasaktır.
- Bu kod golfüdür, bu nedenle her zamanki golf kuralları geçerlidir ve en kısa kod (bayt cinsinden) kazanır.
408.0yerine 408.