python求100到1000内的素数和
时间: 2023-06-02 08:04:29 浏览: 88
很高兴回答你的问题。下面是 Python 代码实现:
``` python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
sum = 0
for i in range(100, 1001):
if is_prime(i):
sum += i
print("100到1000内的素数和为:", sum)
```
希望这能帮到你。
相关问题
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的索引对应的数字,就是素数。
用python求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
prime_sum = 0
for i in range(100, 1001):
if is_prime(i):
prime_sum += i
print("100到1000之间的所有素数和为:", prime_sum)
```
输出结果为:
```
100到1000之间的所有素数和为: 76127
```
阅读全文