Python用递归函数 求解1-n的素数和
时间: 2023-06-03 08:04:58 浏览: 170
编程求解1到n之间所有素数之和
我能为您提供如下Python代码:
```python
def is_prime(num):
"""判断一个数是否为素数"""
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def sum_of_primes(n):
"""递归求解1-n的素数和"""
if n <= 1:
return 0
if is_prime(n):
return n + sum_of_primes(n-1)
else:
return sum_of_primes(n-1)
print(sum_of_primes(100)) # 输出 1060
```
这是一个常见的递归函数实现,先定义一个判断素数的函数`is_prime`,然后定义递归函数`sum_of_primes`。在`sum_of_primes`函数内部,如果当前的数是素数,则返回当前数和前面所有数的素数和;否则返回前面所有数的素数和。最后,我们可以调用`sum_of_primes`函数并传入一个数`n`,得到`1-n`的素数和。
阅读全文