python中判断素数的几种方式

素数的定义:素数n只能被1和它本身整除

换句话说:素数不能被2~n-1间的任意一个数整除

方法一、用2~n-1依次做求余运算(优点:容易想到

定义一个标志变量yes

#定义一个标志变量,初始化为1,默认n是素数
yes=1
for i in range(2,n):
    if n%i==0:
       yes=0
       break

如果yes=1没有变化,则说明在2~n-1之间没有一个数可以整除n,则可以判断n是素数

完整代码

#s素数判断代码——方式一
n = int(input("输入一个正整数:"))
yes= 1
for i in range(2,n):
    if n%i==0:
       yes=0
       break
if yes:
   print(n,'是素数')
else:
   print(n,'不是素数')
#素数判断方式二
m = int(input('输入一个正整数:'))
i =2
while i < m:
     if m%i==0:
        break
     i+=1
if i>m:
   print(m,'是素数')
else:
   print(m,'不是素数')

方法二——方法一的第二种形式的化简,可以在2~m/2之中判断

#判断素数
m = int(input('请输入一个正整数:'))
i =2
k = m/2
while i <=k:
      if m%i==0
         break
      i+=1
if i>k:
   print(m,'是素数')
else:
   print(m,'不是素数')

方法三-再次化简

#判断素数
from math import sqrt
n = int(input('请输入一个正整数:'))
i = 2
k = int(sqrt(n))
while i <=k:
      if n%i==0:
         break
      i+=1
if i >k:
   print(n,'是素数')
else:
   print(n,'不是素数')

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年11月9日
下一篇 2023年11月9日

相关推荐