Heim >Web-Frontend >js-Tutorial >Wie kann man in JavaScript effizient nach Primzahlen suchen?

Wie kann man in JavaScript effizient nach Primzahlen suchen?

Susan Sarandon
Susan SarandonOriginal
2024-10-29 20:12:29715Durchsuche

How to Efficiently Check for Prime Numbers in JavaScript?

So bestimmen Sie Primzahlen in JavaScript

In JavaScript ist die Identifizierung von Primzahlen eine häufige Programmieraufgabe. Eine Primzahl ist eine positive ganze Zahl größer als 1, die durch keine andere positive ganze Zahl außer 1 und sich selbst teilbar ist.

Lösung 1: Naiver Ansatz

Der bereitgestellte Code Snippet bietet eine einfache Möglichkeit, zu überprüfen, ob eine Zahl eine Primzahl ist:

<code class="js">let inputValue = 7;
let isPrime = inputValue == 1 ? false : true;

for (let i = 2; i < inputValue; i++) {
  inputValue % i == 0 ? isPrime *= false : isPrime *= true;
}

alert(`${inputValue} is ${isPrime ? 'prime' : 'not prime'} number`);

Zeitkomplexität: O(sqrt(n))

Raumkomplexität: O(1)

Lösung 2: Effizienter Ansatz

Ein verbesserter Ansatz zur Überprüfung von Primzahlen ist:

<code class="js">const isPrime = num => {
  for (let i = 2, s = Math.sqrt(num); i <= s; i++) {
    if (num % i === 0) return false;
  }
  return num > 1;
};</code>

Dieser Code macht sich die Tatsache zunutze, dass eine Zahl, die keine Primzahl ist, einen Faktor hat, der kleiner oder gleich ihrer Quadratwurzel ist. Indem wir nach Faktoren bis zur Quadratwurzel suchen, können wir potenzielle Faktoren effizient eliminieren.

Zeitkomplexität: O(sqrt(n))

Raumkomplexität : O(1)

Das obige ist der detaillierte Inhalt vonWie kann man in JavaScript effizient nach Primzahlen suchen?. 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