2016-04-08 19 views
0

私はProjectEulerの問題を試みている初心者です。プロジェクトオイラー#10 Python

問題番号10は次のとおりです。 200万未満のすべての素数の合計を求めます。

a=1 
s=0 
p=[]               #just wanna see the primes for myself so creating a list for that  
while a<2000000:           #while value of primes is less than 2million 
     if all(a%i!=0 for i in range(3,int(a**0.5)+1)):  #checks if the number is prime 
      s=s+a           #add primes to the sum 
      p.append(a)          #add the primes to their list 
     a=a+2            #so that we only test odd numbers 
print(s) 
print(p) 

を次のように

私のコードは、だから、問題は、数1がリストにポップアップ表示され、2が表示されないです。その他の素数はすべて含まれます。私は10以下の合計とリストを見つけるために多くの調整を試みましたが、問題は解決しません。 私は何が間違っていますか?

答えて

1

あなたは= 5で最初の反復

+0

ワウ・イム・ソー・ダム。ありがとう – N92991

0

スタートでa=1から始まり、a=a+2ので、完全に2を飛ばして最初の2つの素数2と3

とs = 5(追加を無視しています最初の2つの素数2と3)

ループ5から200万。

a = a + 2行はa = 5から開始して保持されます。

関連する問題