Ich sehe, dass es viele verschiedene Möglichkeiten gibt, Primzahlen zu generieren. Mein Code ist sehr lang und überflüssig, aber ich weiß, dass er definitiv komprimiert und mit einigen Änderungen weniger repetitiv gemacht werden kann und ich hoffte, dass ich in die richtige Richtung zeigen könnte. Im Wesentlichen möchte ich den Prozess automatisieren, der in meinem Code angezeigt wird, so dass er für jeden Bereich und alle Primzahlen funktionieren kann.Schreiben eines Algorithmus zum Generieren von Primzahlen in Python innerhalb eines gegebenen Bereichs
Hier ist mein Code:
def primes():
multiplesList1 = []
multiplesList2 = []
multiplesList3 = []
multiplesList4 = []
multiplesList5 = []
multiplesList6 = []
multiplesList7 = []
multiplesList8 = []
multiplesList9 = []
for i in range(2,1000):
if i % 2 != 0 or i == 2:
multiplesList1.append(i)
for j in multiplesList1:
if j % 3 != 0 or j == 3:
multiplesList2.append(j)
for x in multiplesList2:
if x % 5 != 0 or x == 5:
multiplesList3.append(x)
for y in multiplesList3:
if y % 11 != 0 or y == 11:
multiplesList4.append(y)
for z in multiplesList4:
if z % 13 != 0 or z == 13:
multiplesList5.append(z)
for a in multiplesList5:
if a % 17 != 0 or a == 17:
multiplesList6.append(a)
for b in multiplesList6:
if b % 19 != 0 or b == 19:
multiplesList7.append(b)
for c in multiplesList7:
if c % 23 != 0 or c == 23:
multiplesList8.append(c)
for d in multiplesList8:
if d % 29 != 0 or d == 29:
multiplesList9.append(d)
return multiplesList9
print(primes())
Ich empfehle googeln "Sieb von Eratosthenes". –
werfen Sie einen Blick hier: https://rosettacode.org/wiki/Sieve_of_Eratosthenes#Python –