编写程序,输出2到1000之间所有的素数。
时间: 2024-11-09 17:26:41 浏览: 19
编写程序输出2到1000之间的所有素数,你可以使用一种常见的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)。以下是用Python实现的一个简单版本:
```python
def find_primes(n):
primes = [True] * (n+1)
primes[0], primes[1] = False, False # 0和1不是素数
for i in range(2, int(n**0.5) + 1): # 只需检查到√n,因为大于这个数的因子肯定小于它本身
if primes[i]: # 如果i是素数
for j in range(i*i, n+1, i): # 将i的倍数标记为合数
primes[j] = False
prime_numbers = [i for i, is_prime in enumerate(primes) if is_prime]
return prime_numbers
# 输出2到1000之间的所有素数
print(find_primes(1000))
```
当运行这段代码时,它会打印出2到1000之间的所有素数列表。
相关问题
用Python编写程序输出2到1000之间包括2和1000的所有素数,美航线18个素数并求1000以内所有素数之和并输出素数
以下是用Python编写的程序,可以输出2到1000之间包括2和1000的所有素数,并求美航线18个素数并输出素数之和:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
primes = []
for i in range(2, 1001):
if is_prime(i):
primes.append(i)
print(primes)
print("美航线18个素数:", primes[1:19])
print("1000以内所有素数之和:", sum(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, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541]
美航线18个素数: [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67]
1000以内所有素数之和: 76127
```
希望这个程序可以帮到你!
用python编写程序,输出2到1000之间所有的素数。
在Python中,我们可以编写一个函数来找出2到1000之间的所有素数。素数是指只有1和本身两个正因数的自然数。下面是一个简单的程序实现:
```python
def is_prime(n):
"""判断是否为素数"""
if n <= 1:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return False
return True
def find_primes(start, end):
"""找出指定范围内的素数"""
primes = []
for num in range(start, end+1):
if is_prime(num):
primes.append(num)
return primes
# 输出2到1000之间的素数
start = 2
end = 1000
prime_list = find_primes(start, end)
print(f"2到{end}之间的素数有:{prime_list}")
阅读全文