素数を求める方法の1つに「エラトステネスの篩」と呼ばれる方法があります。
この方法は、2から順番に数を篩い落としていき、素数だけをリストに格納していくものです。
下記のコードは、1,000までの素数をリストに格納するものです。
primes = [] # 素数を格納するリスト for n in range(2, 1000): # 2から999までの数を篩い落とす is_prime = True # nが素数であるかどうかを表すフラグ for i in range(2, int(n ** 0.5) + 1): # 2から√nまでの数で割り切れるか調べる if n % i == 0: # 割り切れた場合 is_prime = False # nは素数ではない break # for文を抜ける if is_prime: # nが素数の場合 primes.append(n) # リストに追加する print(primes) # 素数リストを表示
上記のコードでは、nが素数かどうかを判定するために、2から√nまでの数で割り切れるか調べています。
これは、nが素数である場合、nの平方根以下の数で割り切れることはありえないためです。
実行すると、1,000までの素数がリストに格納されて表示されます。
コメント