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,'不是素数')

  • 8
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值