Rumah >hujung hadapan web >tutorial js >Bagaimana Mencari Semua Nombor Perdana Antara 0 dan 100 Menggunakan Ayak Eratosthenes dalam JavaScript?
Dalam bidang JavaScript, mengenal pasti nombor perdana dalam julat tertentu ialah satu cabaran pengiraan. Bagi mereka yang tidak biasa dengan nombor perdana, ia adalah integer positif yang boleh dibahagi hanya dengan 1 dan diri mereka sendiri.
Satu pendekatan untuk mencari nombor perdana ialah menggunakan algoritma Sieve of Eratosthenes. Kaedah ini bermula dengan mencipta tatasusunan integer daripada 0 hingga sempadan atas yang dikehendaki, dalam kes ini 100. Selepas itu, elemen tatasusunan yang sepadan dengan nombor bukan perdana ditandakan sebagai komposit.
Algoritma bermula dengan menetapkan elemen pada indeks 1 hingga 0, menunjukkan bahawa 1 bukan perdana. Ia kemudian meneruskan lelaran melalui tatasusunan, menandakan semua gandaan setiap nombor perdana sebagai bukan perdana. Sebagai contoh, jika perdana semasa ialah 2, semua gandaan 2 (kecuali 2 sendiri) ditandakan sebagai komposit. Proses ini berterusan sehingga semua nombor perdana hingga punca kuasa dua bagi sempadan atas telah diproses.
Berikut ialah pelaksanaan JavaScript bagi algoritma Ayak Eratosthenes:
<code class="js">function getPrimes(max) { var sieve = [], i, j, primes = []; for (i = 2; i <= max; ++i) { if (!sieve[i]) { primes.push(i); for (j = i << 1; j <= max; j += i) { sieve[j] = true; } } } return primes; } console.log(getPrimes(100));</code>
Menjalankan fungsi ini akan menjana tatasusunan yang mengandungi semua nombor perdana antara 2 dan 100 (termasuk). Kaedah ini dengan cekap menentukan nombor perdana dalam julat tertentu menggunakan pendekatan komprehensif.
Atas ialah kandungan terperinci Bagaimana Mencari Semua Nombor Perdana Antara 0 dan 100 Menggunakan Ayak Eratosthenes dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!