Effiziente Primzahl-Erkennung

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In der Mathematik ist eine Primzahl eine natürliche Zahl größer als 1, die kein Produkt von zwei kleineren natürlichen Zahlen ist. Beispielsweise ist 5 eine Primzahl, weil die einzigen Möglichkeiten, es als Produkt zu schreiben, 1 × 5 oder 5 × 1, 5 selbst beinhalten. 4 ist jedoch keine Primzahl, weil es ein Produkt (2 × 2) ist, bei dem beide Zahlen kleiner als 4 sind. In dieser Herausforderung müssen Sie eine Python-Funktion schreiben, um zu überprüfen, ob eine gegebene Zahl eine Primzahl ist oder nicht.

Zahl ist Primzahl

Schreiben Sie eine Python-Funktion namens is_prime(n), die eine ganze Zahl n als Eingabe nimmt und True zurückgibt, wenn die Zahl eine Primzahl ist, und False sonst. Um dieses Problem zu lösen, müssen Sie die folgenden Regeln befolgen:

  • Geben Sie False zurück, wenn die Zahl 0, 1, eine negative Zahl oder ein Vielfaches von 2 ist.
  • Verwenden Sie all() und range() zum Überprüfen von Zahlen von 3 bis zur Quadratwurzel der gegebenen Zahl.
  • Geben Sie True zurück, wenn keine Zahl die gegebene Zahl teilt, False sonst.
from math import sqrt

def is_prime(n):
  if n <= 1 or (n % 2 == 0 and n > 2):
    return False
  return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie Sie mithilfe von Python überprüfen können, ob eine gegebene Zahl eine Primzahl ist oder nicht. Sie haben die Funktionen all() und range() verwendet, um Zahlen von 3 bis zur Quadratwurzel der gegebenen Zahl zu überprüfen. Sie haben auch gelernt, wie Sie True zurückgeben, wenn keine Zahl die gegebene Zahl teilt, und False sonst.