Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python effizient Primzahlen generieren?
Einfacher Primzahlengenerator in Python mit verbesserter Logik
Der angegebene Code zielt darauf ab, Primzahlen zu generieren, stößt jedoch auf Probleme. Hier ist eine Ausarbeitung der Probleme und ein überarbeiteter Code mit Verbesserungen:
Probleme und Lösungen:
Hier ist das überarbeitete Python-Skript:
import math def main(): count = 3 while True: isprime = True for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: isprime = False break if isprime: print(count) count += 1
Optimized Sieve von Eratosthenes:
def gen_primes(): D = {} q = 2 while True: if q not in D: yield q D[q * q] = [q] else: for p in D[q]: D.setdefault(p + q, []).append(p) del D[q] q += 1
Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient Primzahlen generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!