Pythonで素数列挙
概要
Pythonで素数を列挙する
コード
sosuu.py
sosuu=[2];A=10000
for L in range(3,A):
chk=True
for L2 in sosuu:
if L%L2 == 0:chk=False
if chk==True:sosuu.append(L)
print(sosuu)
追記
sosuu.py
sosuu=[2];A=10000
for L in range(3,A):
chk=True
for L2 in sosuu:
if L%L2 == 0:chk=False
if chk==True:sosuu.append(L)
print(sosuu)
コメントにて、もっと見やすくて早い書き方ができるとのアドバイスをいただきました!ありがとうございます!
sosuu_faster.py
sosuu = [2]
A = 100000
for L in range(3, A, 2): # 2 以外の素数は奇数なので
for L2 in sosuu:
if L % L2 == 0:
break # 素数でないことがわかったらそれ以上ループする必要はない
else: # break で抜けることがなかったら L は素数(Python 特有の制御構文)
sosuu.append(L)
print(sosuu)
また、内包表記を使用できるとのコメントもいただきました!ありがとうございます!
sosuu_comprehension.py
sosuu = [2]
A = 100000
for L in range(3, A, 2): # 2 以外の素数は奇数なので
if all(L % L2 != 0 for L2 in sosuu): # すべての既存素数で割り切れなかったら素数
sosuu.append(L)
print(sosuu)
Author And Source
この問題について(Pythonで素数列挙), 我々は、より多くの情報をここで見つけました https://qiita.com/Fiammetta443/items/f5cbda3a93e3eeec147a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .