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

Python中如何判断一个数是素数

发布时间:2023-12-04 09:47:29

在Python中,可以使用如下的方法判断一个数是否为素数:

1. 普通方法:

- 首先判断该数是否小于2,若小于2,则不是素数;

- 然后循环判断该数是否能被2到它本身的数整除,若能整除,则不是素数;

- 若循环结束都不能被整除,则是素数。

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

num = 17
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "不是素数")

2. 优化方法:

- 在循环中,可以只判断2到数的平方根之间的数是否能整除该数,因为若能整除,一定有一个在2到平方根之间,另一个大于平方根;

- 同时可以将判断范围缩小到大于等于2,小于数的平方根加1。

import math

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

num = 17
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "不是素数")

以上是判断一个数是否为素数的常见方法,可以根据需要选择合适的方法应用到实际问题中。