(二)编写程序,输出2到1000之间所有的素数。
时间: 2024-11-09 11:18:08 浏览: 28
在编写一个输出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
return [i for i in range(2, n+1) if primes[i]]
primes_between_2_and_1000 = find_primes(1000)
for prime in primes_between_2_and_1000:
print(prime)
相关问题
用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
```
希望这个程序可以帮到你!
编写程序,输出2到1000之间所有的素数。
编写程序输出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之间的所有素数列表。
阅读全文