当前位置:首页 >> 脚本专栏

Python求解任意闭区间的所有素数

题目:请求出任意区间[a,b]的所有素数,简单考虑实用性

这道题看起来应该很easy是吧,但任意区间(这个问题有没get 到)

Afanty的分析:

1、首先明白什么叫素数,注意用求余法判断的循环上限应该为sqrt(n)吧?

2、任意区间,a,b是不是可以为负数、小数等。

所以是不是要首先对区间下限向上取整、区间上限向下取整,得到新的区间[a,b]再判断呀:

如何判断?

case1:当b<0,是不是就不用求解啦

case2:当a<0,b>0,是不是a应该从1开始,区间变为[1,b]

case3:当a>0,b>0,是不是区间还是[a,b]

python的实现相关函数

math.ceil()

math.floor()

math.sqrt()