python 筛法选素数
素数,是指只能被1和本身整除的自然数。对一些较大的自然数,我们通常使用筛法来选出它的素数。而Python作为一种广泛使用的编程语言,也有着非常简洁易懂的素数筛法代码实现。
def sieve(n):
primes = [True] * (n+1)
primes[0] = primes[1] = False
for i in range(2, int(n**0.5)+1):
if primes[i]:
for j in range(i**2, n+1, i):
primes[j] = False
return [p for p in range(2, n+1) if primes[p]]
print(sieve(100)) # 输出所有小于等于100的素数
这里我们定义了一个名为sieve的函数,它接受一个整数n,返回一个列表,其中包括所有小于等于n的素数。在函数内部,我们首先将所有数视为素数,然后从2开始遍历到根号n,将每一个质数的倍数标记为合数,最后将剩下的素数输出。
通过这类简单而高效的算法,我们可以用Python轻松地计算并输出任意数范围内的素数,帮助我们在数学、计算机科学等领域更好地进行研究。
文章来源:丸子建站
文章标题:python 筛法选素数
https://www.wanzijz.com/view/89325.html