写找出小于1000的素数的程序
时间: 2024-10-13 19:06:06 浏览: 21
用python编写代码找出1000以内的素数和双素数
5星 · 资源好评率100%
编写一个找出小于1000的所有素数的程序,可以采用经典的"埃拉托斯特尼筛法"(Sieve of Eratosthenes)。这个算法通过初始化一个布尔数组,然后逐个标记每个数字是否为素数,最后返回所有未标记的数字即为素数。
以下是Python语言的一个简单实现:
```python
def find_primes(n):
# 初始化一个布尔列表,所有数值初始认为是质数
primes = [True] * (n)
# 0和1不是质数
primes[0], primes[1] = False, False
# 遍历到根号n,因为大于根号n的因子一定有一个小于等于它的平方根
for i in range(2, int(n**0.5) + 1):
if primes[i]:
# 将i的倍数标记为合数
for j in range(i*i, n, i):
primes[j] = False
# 返回所有的质数
return [num for num, is_prime in enumerate(primes) if is_prime]
# 输出小于1000的所有素数
print(find_primes(1000))
阅读全文