淘先锋技术网

首页 1 2 3 4 5 6 7

什么是素数?

python求素数解析

素数,又叫质数,是指只能被 1 和本身整除的自然数;大于 1 的自然数中只有 2、3、5、7、11、13……等等的数,才能被称为素数。

Python 中通过什么方法求素数?

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):  # 判断到开平方根即可
        if num % i == 0:
            return False
    return True

def get_primes(num):
    primes = [i for i in range(2, num+1) if is_prime(i)]
    return primes

这段代码中,通过两个函数实现求 num 以内的所有素数。

第一个函数 is_prime(num) 判断 num 是否是素数,如果是素数则返回 True,否则返回 False。

第二个函数 get_primes(num) 利用列表推导式和 is_prime(num) 函数获取 num 以内的所有素数。

注意,第二个函数返回的是列表 primes。

以下是使用示例:

num = 100
primes = get_primes(num)
print(primes)

运行结果如下:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

需要注意的是,如果要处理更大的数字,则需要考虑优化算法。