自分のブログ名

物理の空き地 by M.E_K

日々の学び、感じたことを書いております。ブログ移行中->https://physics-mek.com

移転しました。

リダイレクトします。

Python 素数判定

移転しました。

リダイレクトします。

Number = int(input("please number >"))

for i in range(2,int(Number**(1/2)+1):
      if a%i == 0 :
            print("This number isn`t Primes.")
            print("At least , it cracked by",str(i))
            break
      else :
            print("This number is Primes !")   


素数の判定では、for文を使うのが良い。
今回は一工夫を加えることで、計算時間が短くなるようにした。原理は簡単だ。


与えた数字の平方根をとった値に1を足した整数までを割り続けることで、素数かを判定している。
もし、与えた整数が素数でなければ、必ずついとなる公約数が存在する。もし8を与えたなら、(1,8)(2,4)が対となる公約数である。このとき、8の平方根をとった値に1を足した整数を考えると、3となる。つまり、3まで順番に割り続ければ、必ず公約数に当たるはずである。それまでに公約数が見つからなければ、それは素数と言ってもよいだろう。