在一个给定范围的区间内找到该区间所有的质数(素数)

刚开始我写这个代码是想用一个简单的方法,但是能力有限,只能将这个比较普通的方法呈现出来了。

首先我们先编写一些前期准备的代码,如下:

我的目的是先创建两个集合,首先n集合先空着,将闭区间[x,y]的所有数都放到a集合里备用。

x,y=eval(input("请输入一个区间(闭区间)如:x,y   "))
n=set()
a=set()
for i in range(x,y):
    a.add(i)

接下来我们要编写的便是判断这个数是否为素数。

代码如下:

for i in range(x,y):
    for m in range(2,i-1):
        if i%m==0:
            n.add(i)
            break

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。其中i%m==0来判断i除于m余数是否为零,为零则说明他有初1和其本身以外的因数,找到一个就可以结束这次循环了。

最后就是我们的输入程序了。

我们把不是质数的数放到了n集合里,这样我们就可以利用集合的查来得到质数了。但是我们要考虑到1和2这两个数字,所有为了方便起见,我就简单的写了一下这样的代码:

a=a-n-{1,2}
print(a)

最后输入的效果:

刚刚开始学python,有什么不足之处,感谢大神们的指正。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值