求素数和 python
时间: 2023-10-12 08:09:20 浏览: 39
以下是一个求素数和的 Python 代码:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def prime_sum(n):
prime_list = [i for i in range(2, n+1) if is_prime(i)]
return sum(prime_list)
print(prime_sum(10)) # 17
print(prime_sum(20)) # 77
```
首先定义了一个判断素数的函数 `is_prime`,然后在 `prime_sum` 函数中使用列表推导式生成小于等于 `n` 的素数列表 `prime_list`,最后返回该列表的元素和。
相关问题
使用两个函数判断并求素数和Python
判断一个数是否为素数可以使用以下函数:
```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
```
该函数接受一个整数参数 `n`,如果它小于 2,则返回 `False`,否则从 2 到 $\sqrt{n}$ 遍历每个整数,如果存在一个整数可以整除 `n`,则 `n` 不是素数,返回 `False`,否则返回 `True`。
接下来是求素数和的函数:
```python
def sum_prime(n):
prime_sum = 0
for i in range(2, n+1):
if is_prime(i):
prime_sum += i
return prime_sum
```
该函数接受一个整数参数 `n`,从 2 到 `n` 遍历每个整数,如果它是素数,则加入到素数和 `prime_sum` 中,最后返回 `prime_sum`。
python递归求素数和
可以使用递归函数来求素数和,以下是一个示例代码:
```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
def prime_sum(n):
if n < 2:
return 0
if is_prime(n):
return n + prime_sum(n-1)
else:
return prime_sum(n-1)
print(prime_sum(10)) # 输出结果为 17,即 2 + 3 + 5 + 7
```
在上述示例代码中,`is_prime`函数用于判断一个数是否为素数,如果是素数则返回`True`,否则返回`False`。`prime_sum`函数则是递归求和的主函数,当`n`小于2时,返回0;当`n`为素数时,返回`n`加上`prime_sum(n-1)`的结果;否则返回`prime_sum(n-1)`的结果。