数学

Pythonコードで素数をリストに格納・一覧表示する方法

素数を求める方法の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までの素数がリストに格納されて表示されます。

コメント

タイトルとURLをコピーしました