python中求100以内所有素数之和
时间: 2024-10-16 13:19:22 浏览: 124
Python求出0~100以内的所有素数
在Python中,我们可以使用一种简单的算法来找出100以内的所有素数并计算它们的和。这个算法通常称为“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。以下是实现步骤:
```python
def sum_of_primes(n):
# 创建一个布尔列表,初始值都设为True,表示所有数字都是潜在的素数
is_prime = [True] * (n + 1)
is_prime[0], is_prime[1] = False, False # 0和1不是素数
# 遍历从2到sqrt(n),更新列表,将合数的因子标记为False
for num in range(2, int(n**0.5) + 1):
if is_prime[num]:
for multiple in range(num*num, n + 1, num): # 只需检查num的倍数,因为大于num的数已经被处理过了
is_prime[multiple] = False
# 计算和
prime_sum = sum(i for i in range(2, n+1) if is_prime[i])
return prime_sum
# 调用函数,获取100以内素数之和
prime_sum_100 = sum_of_primes(100)
print("100以内所有素数之和为:", prime_sum_100)
阅读全文