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

Mary-Kate Olsen
Lepaskan: 2024-11-01 16:37:02
asal
850 orang telah melayarinya

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>
Salin selepas log masuk

Penggunaan

Untuk mencari semua nombor perdana antara 2 dan 100:

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

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 ]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!