Apa itu Saringan Eratosthenes
Saringan Eratosthenes adalah algoritma untuk menemukan semua bilangan prima hingga batas tertentu. Algoritmanya sederhana dan dapat diimplementasikan dengan langkah-langkah berikut:
- Buat array boolean dengan N elemen dan inisialisasi semua elemen menjadi true.
- Atur elemen ke-0 dan ke-1 dari array menjadi false (karena 0 dan 1 bukan bilangan prima).
- Jika elemen ke-2 dari array adalah true, maka cetak 2 sebagai bilangan prima.
- Atur semua elemen kelipatan 2 mulai dari $2^2$ menjadi false ※
- Jika elemen ke-3 dari array adalah true, maka cetak 3 sebagai bilangan prima.
- Atur semua elemen kelipatan 3 mulai dari $3^2$ menjadi false.
- Ulangi proses yang sama untuk elemen ke-4, ke-5, …, ke-N.
※ Alasan kami menargetkan elemen dari kuadrat ke atas untuk diatur menjadi false adalah karena elemen yang lebih kecil dari kuadrat tersebut sudah diproses (pencacahan telah selesai).

Implementasi dalam Rust
| |
Versi yang Sedikit Lebih Cepat
Kami akan menerapkan versi yang sedikit lebih cepat dengan mempertimbangkan hal-hal berikut:
- Alih-alih menginisialisasi array dengan true, inisialisasi dengan false (ini lebih cepat).
- Karena kelipatan 2 bukan bilangan prima, kami mengabaikan proses mengubah kelipatan 2 menjadi false.
- Tidak perlu melakukan perulangan hingga n; jika Anda menemukan bilangan prima hingga akar kuadrat dari n, Anda dapat menemukan bilangan prima hingga n.
| |
