用自定义递归函数求1…n的奇数和、偶数和(n为学号最后三位);
时间: 2024-10-21 14:07:38 浏览: 21
AC-学号-姓名- 题号10051
为了用自定义递归函数计算从1到n的所有奇数和及偶数和,我们需要定义两个递归函数,分别针对奇数和偶数。假设n是学生的学号后三位,我们可以这样做:
```python
def sum_of_odd_numbers(n):
# 基础情况:当n为1时,返回1(因为1既是第一个也是最后一个奇数)
if n == 1:
return 1
# 递归情况:n大于1,当前数加下一个奇数(n+2)
else:
return n + sum_of_odd_numbers(n - 2)
def sum_of_even_numbers(n):
# 基础情况:当n为0时,返回0(因为0是第一个也是最后一个偶数)
if n == 0:
return 0
# 递归情况:n大于0,当前数加下一个偶数(n+2)
else:
return n + sum_of_even_numbers(n - 2)
# 获取学生学号的后三位
student_number = int(input("请输入学生的学号后三位:"))
# 计算并打印奇数和和偶数和
odd_sum = sum_of_odd_numbers(student_number)
even_sum = sum_of_even_numbers(student_number)
output_string = f"1到{student_number}的奇数和是 {odd_sum}, 偶数和是 {even_sum}"
print(output_string)
阅读全文