Sieb des Eratosthenes – Primzahlen in Python finden
Problem:
Beim Versuch der Implementierung Beim Sieve of Eratosthenes-Algorithmus in Python stoßen Benutzer häufig auf langsame Ausführungszeiten, insbesondere bei der Suche nach Primzahlen über 1 Millionen.
Lösung:
Die gegebene Implementierung weist mehrere Bereiche mit Verbesserungspotenzial auf:
1. Nicht optimierter Algorithmus:
2. Ineffizienz der Listenmanipulation:
Optimierte Implementierung :
Um diese Probleme zu beheben, sollten Sie Folgendes optimieren Implementierung:
def primes_sieve2(limit): a = [True] * limit a[0] = a[1] = False for (i, isprime) in enumerate(a): if isprime: yield i for n in range(i*i, limit, i): # Mark factors non-prime a[n] = False
Wichtige Verbesserungen:
Das obige ist der detaillierte Inhalt vonWie können wir den Sieve of Eratosthenes-Algorithmus in Python für eine schnellere Primzahlengenerierung optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!