python求n以内的素数和
时间: 2024-11-25 17:10:46 浏览: 1
python如何求100以内的素数
在Python中,可以编写一个函数来计算给定范围内(n以内)的所有质数。下面是一个简单的算法,利用了“埃拉托斯特尼筛法”(Sieve of Eratosthenes):
```python
def find_primes(n):
primes = [True] * (n + 1) # 初始化所有数字为可能是质数
p = 2 # 首个质数是2
while p * p <= n:
if primes[p]: # 如果p是质数
for i in range(p * p, n + 1, p): # 将p的倍数标记为非质数
primes[i] = False
p += 1
# 素数列表只包含初始设置为True的数字
prime_sum = sum(num for num, is_prime in enumerate(primes) if is_prime)
return prime_sum, [i for i, prime in enumerate(primes) if prime]
# 示例:
n = 30
prime_count, prime_list = find_primes(n)
print(f"小于{n}的素数之和是:{prime_sum}")
print(f"小于{n}的素数有:{prime_list}")
阅读全文