用python求100到1000素数和
时间: 2024-01-06 10:05:45 浏览: 82
当然可以,以下是代码:
```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
prime_sum = 0
for i in range(100, 1001):
if is_prime(i):
prime_sum += i
print("100到1000之间的所有素数和为:", prime_sum)
```
输出结果为:
```
100到1000之间的所有素数和为: 76127
```
相关问题
python求100-1000质数
可以使用如下代码来求100到1000之间的质数:
```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
for n in range(100, 1001):
if is_prime(n):
print(n, end=' ')
```
其中`is_prime`函数用于判断一个数是否为质数,`range`函数用于循环遍历100到1000之间的所有数,对于每个数n,如果它是质数,则输出它。
python 求100到1000的素数
在Python中,我们可以使用一种常见的算法,称为“埃拉托斯特尼筛法”(Sieve of Eratosthenes)来找出100到1000之间的素数。这里是一个简单的实现步骤:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n + 1)
primes[0], primes[1] = False, False # 0和1不是素数
for i in range(2, int(n**0.5) + 1):
if primes[i]:
for j in range(i*i, n+1, i): # 把i的倍数标记为合数
primes[j] = False
# 输出100到1000之间的素数
for num in range(100, 1001):
if primes[num]:
print(num)
sieve_of_eratosthenes(1000)
```
这个函数首先创建一个布尔数组`primes`,所有元素初始化为True。然后从2开始遍历到根号n,如果当前数字是素数(即`primes[i]`为True),就将其所有倍数设为非素数。最后筛选出100到1000之间并保持为True的索引对应的数字,就是素数。
阅读全文