Ich habe den folgenden Code-Block geschrieben, um die Summe aller Primzahlen unter einer bestimmten Zahl zu berechnen - 2 000 000, um genau zu sein, jedoch dauert es ziemlich lange ausführen; 20 Sekunden:Summation von Primzahlen unter einer gegebenen Zahl in Python
def summation_of_primes_below_n(n):
list = []
sum = 0
for i in range(2, n):
if checks_if_prime(i) == True:
list.append(i)
return list
for j in list:
sum = sum + j
return sum
def checks_if_prime(n):
if n == 2:
return True
import math
for i in range(2, math.ceil(math.sqrt(n))+1):
if n%i == 0:
return False
elif i == math.ceil(math.sqrt(n)):
return True
print(summation_of_primes_below_n(2000000))
Also fragte ich mich, ob es einen Weg gab, um meinen Code effizienter zu machen. Ich würde mich sehr über einen entsprechenden Ratschlag freuen. Außerdem würde ich bevorzugen, dass Sie mehr grundlegende Lösungen geben, da ich ein Anfänger bin und die Logik für dasselbe zur Verfügung stelle. Danke vielmals!
Duplikat http://stackoverflow.com/q/2068372/3651800 –
Geist den Einzug in Ihrem Code Fixierung? Es kann nicht wie es ist reproduziert werden. –