什么是素数?
素数,又叫质数,是指只能被 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]
需要注意的是,如果要处理更大的数字,则需要考虑优化算法。