私はこの場合、特定の数-2 000 000以下のすべての素数の合計を計算するために以下のコードブロックを書いていますが、実行する; 20秒: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))
私のコードをより効率的にする方法があるかどうかは疑問でした。私は同じことについて適切なアドバイスをいただければ幸いです。また、私は初心者であり、同じロジックを提供するので、より基本的なソリューションを提供することをお勧めします。どうもありがとう!
重複:http://stackoverflow.com/q/2068372/3651800 –
コードに字下げを固定する心はありますか?そのまま再生することはできません。 –