如何用python判断素数最简单的代码

什么是素数

素数指的是只能被1和自身整除的正整数,比如2、3、5、7等。与之相反的是合数,合数指的是可以被其他正整数整除的正整数。

如何用python判断素数最简单的代码

用python判断素数的方法

最简单的用python判断素数的方法是使用循环,从2开始逐个除以每个小于它本身的正整数,如果都不能整除,则说明这个数是素数。代码如下:

```python
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
```

上述代码中,我们定义了一个函数is_prime来判断一个数是否为素数,如果是,则返回True,否则返回False。函数的参数为num,也就是待判断的数。

首先判断num是否小于2,如果是,则返回False,因为小于2的数都不是素数。

然后使用for循环从2开始逐个除以每个小于它本身的正整数,如果能整除,则说明这个数不是素数,直接返回False。

如果for循环执行完毕,都没有返回False,则说明这个数是素数,返回True。

判断素数的优化

上述方法虽然简单易懂,但是当判断的数很大时,执行时间会很长。我们可以进行一些优化:

首先,我们可以只需要除以小于它自身一半的正整数,因为如果它能被大于一半的数整除,那么这个除数一定小于2,所以肯定是素数。

其次,我们可以只需要除以小于它自身平方根的正整数,同样能保证正确性,但是可以减少循环次数。

优化后的代码如下:

```python
import math

def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
```

上述代码中,我们引入了math库,使用了其中的sqrt函数,可以计算出num的平方根。在for循环中,我们从2开始逐个除以小于它自身平方根的正整数,如果能整除,则说明这个数不是素数,直接返回False。

如果for循环执行完毕,都没有返回False,则说明这个数是素数,返回True。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/pythonuw8.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月18日 下午5:02
下一篇 2023年4月18日 下午5:02

猜你喜欢