Bei der Programmierung, insbesondere bei der Arbeit mit Zahlen, besteht oft die Notwendigkeit, zu überprüfen, ob eine Zahl eine Primzahl oder eine zusammengesetzte Zahl ist.
Eine Primzahl wird als natürliche Zahl bezeichnet, die größer ist als eins, die ohne Rest nur durch eins und sich selbst geteilt wird. Wenn eine Zahl durch andere Zahlen geteilt wird, ist sie zusammengesetzt.
Es gibt mehrere Ansätze, um eine Zahl auf Einfachheit zu überprüfen. In diesem Artikel betrachten wir eine der einfachsten und effektivsten Möglichkeiten, diese Aufgabe in der Programmiersprache Python zu implementieren.
Wie kann ich die Einfachheit einer Zahl in Python bestimmen
1. Brute-Force-Methode
Eine einfache und intuitive Möglichkeit, die Einfachheit einer Zahl zu überprüfen, besteht darin, zu überprüfen, ob sie durch eine beliebige Zahl mit Ausnahme von 1 und sich selbst geteilt wird. Dazu kann eine Schleife verwendet werden, die alle Zahlen von 2 bis n-1 durchläuft (wobei n die zu überprüfende Zahl ist).
def is_prime(n):if n < 2:return Falsefor i in range(2, n):if n % i == 0:return Falsereturn True
Wenn die Funktion True zurückgibt, bedeutet dies, dass die Zahl eine Primzahl ist. Andernfalls ist es zusammengesetzt.
2. Methode "Eratosthenes Sieb"
Ein optimaler Weg, um die Einfachheit einer Zahl zu überprüfen, ist die Verwendung eines "Eratosthenes" Gitters. Der Algorithmus ist wie folgt:
- Erstellen Sie eine Liste von Zahlen von 2 bis n und initialisieren Sie sie mit True.
- Durchlaufen Sie alle Zahlen in der Liste.
- Wenn eine Zahl eine Primzahl ist, setzen Sie alle Vielfachen der Zahl in der Liste auf False, da sie zusammengesetzt sind.
- Wenn die Zahl nach dem Durchlaufen wahr bleibt, betrachten wir sie als einfach.
def sieve_of_eratosthenes(n):primes = [True] * (n+1)primes[0] = primes[1] = Falsefor i in range(2, int(n**0.5) + 1):if primes[i]:for j in range(i*i, n+1, i):primes[j] = Falsereturn primes
Die Funktion gibt eine Liste von Primzahlen von 2 bis n zurück. Um zu überprüfen, ob eine Zahl eine Primzahl ist, müssen Sie ihren Index in der Liste überprüfen. Wenn der Wert True ist, ist die Zahl einfach, andernfalls ist sie zusammengesetzt.
Was ist eine Primzahl:
Primzahlen sind die Hauptbausteine für alle anderen Zahlen. Sie sind beispiellose mathematische "Steine", aus denen eine beliebige Zahl gebildet werden kann. Deshalb sind Primzahlen wichtige Lernobjekte für die Zahlentheorie.
Die ersten Primzahlen sind 2, 3, 5, 7, 11, 13, . und so weiter. Sie gehen unendlich weiter und können nicht als Produkt anderer Zahlen ausgedrückt werden.
Das Wissen über Primzahlen ist nicht nur für die mathematische Welt wichtig, sondern hat auch praktische Anwendungen in den Bereichen Verschlüsselung und Computersicherheit.
Algorithmus zur Überprüfung auf Einfachheit:
Eine Primzahl ist eine Zahl, die ohne Rest nur durch sich selbst und durch eins geteilt wird.
Sie können den folgenden Algorithmus verwenden, um die Einfachheit einer Zahl in Python zu überprüfen:
| Schritt | Die Beschreibung |
| 1 | Überprüfen Sie, ob die Zahl kleiner oder gleich 1 ist. Wenn ja, ist die Zahl keine Primzahl. |
| 2 | Überprüfen Sie, ob die Zahl restlos durch eine Zahl geteilt wird, beginnend mit 2 und endend mit der Wurzel der Zahl. Wenn geteilt, ist die Zahl keine Primzahl. |
| 3 | Wenn die Zahl nicht restlos durch eine Zahl von 2 bis zur Wurzel der Zahl geteilt wird, ist die Zahl eine Primzahl. |
Um diesen Algorithmus in Python zu implementieren, können Sie die Schleife und die Operation des Moduls % verwenden. In einer Schleife werden alle Zahlen von 2 bis zum gerundeten Wurzelwert der angegebenen Zahl überprüft.
Beispielcode in Python:
import mathdef is_prime(num):if num
Как проверить число на простоту в Python:
Вот пример кода, демонстрирующий проверку числа на простоту:
| Алгоритм | Описание |
|---|---|
| Проверка делителей | Проверяем все числа от 2 до корня из числа. Если найден делитель, то число не является простым. |
В питоне выглядит это так:
import mathdef is_prime(number):if number < 2:return Falsefor i in range(2, int(math.sqrt(number)) + 1):if number % i == 0:return Falsereturn Truenumber = 17if is_prime(number):print(f"- простое число")else:print(f" - составное число")
Wenn dieser Code ausgeführt wird, wird "17 ist eine Primzahl" auf dem Bildschirm angezeigt.
Mit dem obigen Code können Sie also eine beliebige Zahl in Python auf Einfachheit überprüfen.
Beispielcode:
- Überprüfen einer Zahl auf Einfachheit mit einer Schleife:
def is_prime(n):if n - простое число")else:print(f" - составное число")
def is_prime(n, i=2):if n - простое число")else:print(f" - составное число")
def sieve_of_eratosthenes(n):sieve = [True] * (n + 1)sieve[0] = sieve[1] = Falsep = 2while p * p - простое число")else:print(f" - составное число")