欢迎访问宙启技术站
智能推送

is_prime(n)-判断给定数字是否是一个质数

发布时间:2023-06-30 23:02:06

is_prime(n)函数是用来判断给定数字n是否是一个质数的函数。在数学中,质数也被称为素数,是指除了1和自身外没有其他除数的正整数。所以判断一个数字是否是质数,就是要判断它是否只能被1和自身整除。

该函数的实现思路有多种,以下是一种常用的算法:

1. 若n小于等于1,则直接返回False,因为1和负数都不是质数。

2. 若n等于2或3,则直接返回True,因为2和3都是质数。

3. 若n能被2整除,则返回False,因为质数不能被偶数整除,除了2本身。

4. 计算从3到n的平方根之间的所有奇数i,判断n是否能被i整除。若能整除,则返回False,因为n是合数。

5. 若在上述步骤中没有找到能整除n的数,则返回True,说明n是质数。

下面是该函数的Python代码实现:

import math

def is_prime(n):

    if n <= 1:

        return False

    if n == 2 or n == 3:

        return True

    if n % 2 == 0:

        return False

    for i in range(3, int(math.sqrt(n)) + 1, 2):

        if n % i == 0:

            return False

    return True

这个函数通过循环来逐个判断从3到n的平方根之间的奇数是否能整除n,如果找到了能整除n的数,则返回False,说明n是合数;否则,返回True,说明n是质数。

这样,我们就可以使用is_prime(n)函数来判断一个给定的数字n是否是一个质数。例如,is_prime(5)的返回值是True,is_prime(10)的返回值是False。