Avatar ·

Schnelle Methoden zur Findung aller Primzahlen kleiner als N

📁 Python, Frage, numpy - wissenschaftliches Rechnen, KI

Welche Algorithmen gibt es zur schnellsten Findung aller Primzahlen kleiner als N, abgesehen von den bekannten:

Und welche schnellen Implementierungen gibt es in Python (Vanilla, Numpy, etc.)?

def eratosthenes2(n):    multiples = set()    for i in range(2, n+1):        if i not in multiples:            yield i            multiples.update(range(i*i, n+1, i))

Avatar ·

Ich versuche zu antworten, da die Frage interessant ist und ich selbst nicht wusste, warum.

Kurz gesagt: Der Grund liegt in der Anwesenheit der magic method

Wenn wir ein dictionary als key verwenden:

t = dict()d = {t: 1}

Dann erhalten wir einen error:

TypeError: unhashable type: 'dict'

Aber eigentlich würden wir denselben error erhalten, wenn wir versuchen, den hash zu bekommen:

t = dict()print(hash(t))

Bei nicht hashbaren types fehlt die magic method :

Anmelden um eine Antwort zu hinterlassen

Blogs