自定义递归函数求1…n的奇数和、偶数和
时间: 2023-06-04 21:04:51 浏览: 133
好的,这是一个数学问题,我可以回答。求1到n的奇数和可以使用递归函数,代码如下所示:
```
def sum_odd(n):
if n == 1:
return 1
else:
return 2*n-1 + sum_odd(n-1)
```
同样地,求1到n的偶数和也可以使用递归函数,代码如下所示:
```
def sum_even(n):
if n == 0:
return 0
else:
return 2*n + sum_even(n-1)
```
注意,在实际编程中,递归函数的深度可能会受到限制,所以要考虑使用循环等其他解决方案。
相关问题
用python自定义递归函数求1…n的奇数和、偶数和
没有问题,我可以回答你的问题。以下是 Python 代码:
# 递归求和奇数和与偶数和
def oddEvenSum(n):
if n == 0:
return 0
elif n % 2 == 0:
# 偶数和 = 当前偶数 + 前一个数字的奇数和
return n + oddEvenSum(n-1)
else:
# 奇数和 = 当前奇数 + 前一个数字的偶数和
return n + oddEvenSum(n-1)
n = 10 # 范围为1到n
# 输出奇数和与偶数和
print("1到{}的奇数和为:{}".format(n, oddEvenSum(n-1)))
print("1到{}的偶数和为:{}".format(n, oddEvenSum(n)))
用python写一个自定义递归函数,求1到n的奇数和,偶数和
好的,没问题。下面是Python代码实现:
```python
def odd_even_sum(n):
if n == 0:
return 0, 0
else:
odd, even = odd_even_sum(n - 1)
if n % 2 == 1:
odd += n
else:
even += n
return odd, even
n = int(input("请输入 n:"))
odd_sum, even_sum = odd_even_sum(n)
print("1~{} 的奇数和为:{}".format(n, odd_sum))
print("1~{} 的偶数和为:{}".format(n, even_sum))
```
如果要求1到n的所有数的和,可以在递归函数中加几行代码实现。