Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann man in JavaScript effizient feststellen, ob eine Zahl eine Primzahl ist?

Patricia Arquette
Freigeben: 2024-10-26 17:56:30
Original
461 Leute haben es durchsucht

How to Efficiently Determine if a Number is Prime in JavaScript?

Primzahlprüfung in JavaScript

Dieser Artikel befasst sich mit dem Problem, mithilfe von JavaScript festzustellen, ob eine bestimmte Zahl eine Primzahl ist oder nicht. Eine Primzahl ist eine ganze Zahl größer als 1, die durch keine andere natürliche Zahl außer 1 und sich selbst teilbar ist.

Lösung 1

Die traditionelle Methode beinhaltet die Iteration von 2 Berechnen Sie die Quadratwurzel der eingegebenen Zahl und prüfen Sie, ob die Zahl durch eine dieser Zahlen teilbar ist. Wenn ja, ist es keine Primzahl; andernfalls ist es so.

<code class="javascript">let inputValue = 7;
let isPrime = inputValue == 1 ? false : true; // because 1 is not prime

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

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

Zeitkomplexität: O(sqrt(n))
Raumkomplexität: O(1)

Lösung 2

Ein alternativer Ansatz nutzt die Tatsache, dass eine Primzahl größer als 2 nicht ungerade sein kann. Es reicht also aus, die Teilbarkeit durch 2 und dann durch ungerade Zahlen bis zur Quadratwurzel der eingegebenen Zahl zu prüfen. Diese Optimierung reduziert die Ausführungszeit erheblich.

<code class="javascript">const isPrime = num => {
  if (num <= 1) return false;
  if (num <= 3) return true;
  if (num % 2 == 0 || num % 3 == 0) return false;
  for (let i = 5; i * i <= num; i += 6) {
    if (num % i == 0 || num % (i + 2) == 0) return false;
  }
  return true;
};</code>
Nach dem Login kopieren

Zeitkomplexität: O(sqrt(n))
Raumkomplexität: O(1)

Das obige ist der detaillierte Inhalt vonWie kann man in JavaScript effizient feststellen, ob eine Zahl eine Primzahl ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!