Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Saya Boleh Cari Nombor Perdana Antara 0 dan 100 dalam JavaScript?

Bagaimana Saya Boleh Cari Nombor Perdana Antara 0 dan 100 dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 16:37:02851semak imbas

How Can I Find Prime Numbers Between 0 and 100 in JavaScript?

Mencari Nombor Perdana Antara 0 dan 100 dalam JavaScript

Mengenal pasti nombor perdana dalam julat tertentu boleh menjadi tugas yang mencabar. Walaupun kelihatan intuitif untuk menyemak setiap nombor secara individu dengan menggunakan operator modulus, pendekatan ini menjadi tidak cekap, terutamanya untuk julat yang lebih besar.

Pendekatan Alternatif: Ayak Eratosthenes

Algoritma yang lebih cekap untuk masalah ini ialah Sieve of Eratosthenes. Kaedah ini beroperasi dengan secara berulang menghapuskan nombor bukan perdana daripada senarai nombor perdana yang mungkin.

Pelaksanaan dalam JavaScript

<code class="javascript">function getPrimes(max) {
    var sieve = [], i, j, primes = [];
    for (i = 2; i <= max; ++i) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}</code>

Penggunaan

Untuk mencari semua nombor perdana antara 2 dan 100:

<code class="javascript">var primes = getPrimes(100);
console.log(primes);</code>

Output:

[ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ]

Kesimpulan

Menggunakan Ayak Eratosthenes menyediakan kaedah yang sangat cekap dan boleh dipercayai untuk mencari nombor perdana dalam julat tertentu. Pendekatan ini meningkatkan prestasi secara dramatik berbanding pembahagian percubaan dan membolehkan pengecaman bilangan prima untuk julat yang lebih besar.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Cari Nombor Perdana Antara 0 dan 100 dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn