MENU

pythonで素数を求める

Pythonで素数を求めるプログラムを作ってみました。私にとっては、かなり複雑なことが簡単にできてしまいます。本当に驚きです。

  1. import math
  2. prime = [2]
  3. max = 100
  4. for i in range (3,max,2):
  5.     for j in range(2, math.floor(math.sqrt(i))):
  6.         if i % j ==0:
  7.             break
  8.     else:
  9.         prime.append(i)
  10. print(prime)

2行目:あとりあえず初めの素数は2なのであらかじめ配列に入れてしまいました。
3行目:求める素数の最大値をmaxとしました。
4行目:2以外の素数は奇数なので、2飛ばしにしました。
5行目:素数ではなく約数が存在するときは、掛け合わせることによってその数になります。つまりどちらかが候補となる数字のルート以下になるので、そこまで調べれば素数かどうかわかってしまいます。

答えも合ってそうです。
[2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

この記事を書いた人

コメント

コメントする

目次
閉じる