Python判断素数

Python判断素数

素数,又称质数,是指大于1的自然数(正整数),它除了1和自身之外没有任何其他的正约数(除了1和本身外不能被其他自然数整除)。换句话说,素数只有两个正约数:1和本身。

例如,2、3、5、7、11、13、17等都是素数,因为它们除了1和自身外没有其他正约数。

与素数相对的是合数,合数是指大于1的自然数中除了1和自身外还有其他正约数的数,也就是非素数。

素数在数学中具有重要的地位,它们在密码学、数据加密和数论等领域有广泛的应用。寻找和研究素数一直是数学家们的重要课题,素数之间的分布规律也是一个令人着迷的研究领域。

def is_prime(num):
    if num <= 1:
        return False
​
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
​
    return True
​
# 测试代码
a = 37
if is_prime(a):
    print("是素数")
else:
    print("是合数")

这段代码的思路是通过定义一个名为 is_prime 的函数来判断一个给定的正整数 num 是否为素数。

首先,函数进行输入检查:if num <= 1:。如果输入的数 num 小于等于 1,直接返回 False,因为素数是大于 1 的正整数,小于等于 1 的数不可能是素数。

接下来,函数使用一个 for 循环从 2 开始到 num 的平方根(取整后加 1)之间的所有整数进行遍历:for i in range(2, int(num0.5) + 1):。这里使用 int(num0.5) + 1 是为了确保能够包含 num 的平方根的整数部分。

在循环中,检查每一个数 i 是否能整除 num,如果 num 能被 i 整除,即 num % i == 0,那么说明 num 有一个因数 i,因此 num 不是素数,直接返回 False。

如果循环结束后没有找到能整除 num 的因数,说明 num 是素数,因此函数返回 True。在主程序中,使用这个函数来判断具体的数字 a 是否为素数。这里取 a=37 作为测试例子。

如果 is_prime(a) 返回 True,则输出 "是素数",否则输出 "是合数"。

运行结果

Python判断素数_第1张图片

总的来说,这段代码使用一个 for 循环遍历 2 到 num 的平方根之间的所有整数,判断 num 是否有其他因数,从而判断 num 是否为素数。

你可能感兴趣的:(python)