Heim  >  Artikel  >  Web-Frontend  >  Wie finde ich effizient Primzahlen innerhalb eines Bereichs in JavaScript?

Wie finde ich effizient Primzahlen innerhalb eines Bereichs in JavaScript?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 22:49:30265Durchsuche

How to Efficiently Find Prime Numbers Within a Range in JavaScript?

Effizientes Finden von Primzahlen innerhalb eines Bereichs

In JavaScript kann die Identifizierung von Primzahlen innerhalb eines bestimmten Bereichs durch verschiedene Methoden erreicht werden. Ein häufig verwendeter Ansatz ist der Sieve of Eratosthenes-Algorithmus. Diese Technik markiert Vielfache von Primzahlen als Nicht-Primzahlen und ermöglicht so die effiziente Identifizierung von Primzahlen.

Das Folgende ist eine JavaScript-Implementierung eines modifizierten Sieve of Eratosthenes-Algorithmus zum Finden von Primzahlen im Bereich von 0 bis 100 :

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;
}

In dieser Funktion wird ein Array namens „Sieve“ verwendet, um als Nicht-Primzahl markierte Zahlen zu verfolgen. Beim Durchlaufen von Zahlen von 2 bis zum angegebenen Maximum werden nicht markierte Zahlen als Primzahlen betrachtet und dem Array „Primzahlen“ hinzugefügt. Vielfache von Primzahlen werden anschließend im „Sieb“-Array als Nicht-Primzahlen markiert.

Mit dieser Funktion können Sie alle Primzahlen innerhalb eines bestimmten Bereichs effizient abrufen. getPrimes(100) gibt beispielsweise ein Array aller Primzahlen zwischen 2 und 100 (einschließlich) zurück.

Das obige ist der detaillierte Inhalt vonWie finde ich effizient Primzahlen innerhalb eines Bereichs in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn