Um zu beginnen, benötigen wir Kenntnisse über die Division von Zahlen und den Rest der Division. In Python werden dafür die Operatoren % (Rest der Division) und // (Division ist zielorientiert) verwendet. Wir werden diese Operatoren in einer Schleife verwenden, um zu überprüfen, ob eine Zahl eine Primzahl ist oder nicht.
Der Algorithmus zur Überprüfung einer Zahl auf Einfachheit ist ziemlich einfach. Wir werden alle Zahlen von 2 bis zur Zahl selbst durchlaufen (in unserem Fall bis zu 100) und prüfen, ob sie auf eine Zahl aus diesem Bereich ausgerichtet ist. Wenn es zielgerichtet durch eine Zahl geteilt wird, ist es keine Primzahl. Wenn es nicht durch eine einzelne Zahl geteilt wird, bedeutet dies, dass es einfach ist und wir es auf den Bildschirm bringen.
Wie gibt man alle Primzahlen von 1 bis 100 in Python aus?
Der Algorithmus ist wie folgt:
- Wir erstellen eine Liste aller Zahlen von 2 bis 100.
- Beginnend mit der Zahl 2, streichen wir alle Vielfachen von ihnen aus.
- Gehen Sie zur nächsten nicht durchgestrichenen Zahl über und wiederholen Sie den vorherigen Schritt.
- Wiederholen Sie die Schritte 2 und 3, bis wir die Zahl 100 erreicht haben.
- Alle verbleibenden nicht durchgestrichenen Zahlen sind einfach.
Hier ist ein Beispielcode:
def sieve_of_eratosthenes(n):sieve = [True] * (n+1)sieve[0] = sieve[1] = Falsep = 2while p * p
При запуске этого кода вы получите все простые числа от 1 до 100.
Создание функции для определения простых чисел
Простое число - это число, которое делится без остатка только на 1 и на само себя. В алгоритме для определения простого числа, мы будем использовать утверждение, что если число n не делится нацело на числа до его квадратного корня, то оно является простым.
Вот как может выглядеть функция:
def is_prime(num):if num < 2:return Falsefor i in range(2, int(num ** 0.5) + 1):if num % i == 0:return Falsereturn True
Die Funktion is_prime(num) akzeptiert die Zahl num und prüft, ob es sich um eine Primzahl handelt. Wenn die Zahl kleiner als 2 ist, gibt die Funktion False zurück , da Primzahlen mit der Zahl 2 beginnen.
Die Funktion durchläuft dann eine Schleife von 2 bis zur Quadratwurzel aus der Zahl num . Wenn num restlos durch eine dieser Zahlen geteilt wird, ist die Zahl keine Primzahl und die Funktion gibt False zurück .
Wenn keine Division ohne Rest aufgetreten ist, ist die Zahl num eine Primzahl und die Funktion gibt True zurück .
for num in range(1, 101):if is_prime(num):print(num)
Die Verwendung einer Funktion zum Definieren von Primzahlen vereinfacht den Code und macht ihn verständlicher. Falls erforderlich, kann die Funktion auch verwendet werden, um die Einfachheit von Zahlen in anderen Bereichen zu überprüfen.
Verwenden von Schleifen und bedingten Operatoren zum Überprüfen von Zahlen
Für diese Aufgabe können Sie den folgenden Algorithmus verwenden:
- Iterieren Sie alle Zahlen von 1 bis 100 in einer Schleife.
- Überprüfen Sie für jede Zahl, ob sie durch eine andere Zahl als 1 und sich selbst geteilt wird.
- Wenn die Zahl nicht durch eine andere Zahl geteilt wird, ziehen Sie sie ab.
Wenn Sie diesen Algorithmus in Python implementieren, können Sie verschachtelte Schleifen und bedingte Anweisungen verwenden:
for num in range(1, 101):# Проверка, является ли число простымif num > 1:for i in range(2, num):if (num % i) == 0:breakelse:print(num)
Durch die Ausführung dieses Codes werden alle Primzahlen von 1 bis 100 auf dem Bildschirm angezeigt:
23571113171923. 8997
Die Verwendung von Schleifen und bedingten Operatoren ermöglicht es Ihnen daher, jede Zahl zwischen 1 und 100 zu überprüfen und nur Primzahlen abzuleiten.
Um alle Primzahlen von 1 bis 100 in Python abzuleiten, müssen Sie einen Algorithmus verwenden, um jede Zahl zu überprüfen.
Der Algorithmus ist wie folgt:
- Initialisieren Sie die Liste, um Primzahlen zu speichern.
- Durchlaufen Sie jede Zahl von 1 bis 100.
- Überprüfen Sie für jede Zahl, ob sie durch eine Zahl geteilt wird, beginnend mit 2 und endend mit der Quadratwurzel dieser Zahl.
- Wenn die Zahl nicht durch eine der Zahlen geteilt wird, fügen Sie sie der Liste der Primzahlen hinzu.
Nach der Ausführung des Algorithmus wird eine Liste aller Primzahlen von 1 bis 100 erhalten.
| Primzahlen von 1 bis 100: |
|---|
| 2 |
| 3 |
| 5 |
| 7 |
| 11 |
| 13 |
| 17 |
| 19 |
| 23 |
| . |
Daher wurden alle Primzahlen von 1 bis 100 in Python mit einem Algorithmus zur Überprüfung jeder Zahl abgeleitet.
Der Algorithmus basiert auf der Idee, dass alle zusammengesetzten Zahlen einfache Teiler haben, die kleiner oder gleich ihrer Quadratwurzel sind. Auf diese Weise können wir alle zusammengesetzten Zahlen schrittweise ausschließen, beginnend mit 2, 3, 5 usw.
def sieve_of_eratosthenes(n):primes = [True] * nprimes[0] = primes[1] = Falsefor i in range(2, int(n ** 0.5) + 1):if primes[i]:for j in range(i * i, n, i):primes[j] = Falsereturn [x for x in range(n) if primes[x]]primes = sieve_of_eratosthenes(100)for prime in primes:print(prime)