关于递归求和的不同例题
时间: 2024-01-27 17:04:50 浏览: 63
Java递归求和1+2+3+...+n实例详解
5星 · 资源好评率100%
例题1:递归求和
编写一个递归函数,计算给定整数数组中所有元素的和。
示例输入:[1, 2, 3, 4, 5]
示例输出:15
解析:该题需要使用递归函数来实现,递归函数的基本思路是将数组不断缩小,直到只剩下一个或零个元素,然后将其返回,最终将所有返回的元素相加得到总和。
以下是该题的Python代码实现:
def recursive_sum(arr):
if len(arr) == 1:
return arr[0]
elif len(arr) == 0:
return 0
else:
return arr[0] + recursive_sum(arr[1:])
arr = [1, 2, 3, 4, 5]
print(recursive_sum(arr))
输出结果为:15
例题2:递归求阶乘
编写一个递归函数,计算给定正整数的阶乘。
示例输入:5
示例输出:120
解析:阶乘是指将一个数的所有正整数相乘,例如5的阶乘为5×4×3×2×1=120。该题需要使用递归函数来实现,递归函数的基本思路是将n不断缩小,直到n等于1或0,然后将其返回,最终将所有返回的值相乘得到阶乘。
以下是该题的Python代码实现:
def recursive_factorial(n):
if n == 1 or n == 0:
return 1
else:
return n * recursive_factorial(n - 1)
n = 5
print(recursive_factorial(n))
输出结果为:120
例题3:递归求斐波那契数列
编写一个递归函数,计算给定正整数的斐波那契数列值。
示例输入:6
示例输出:8
解析:斐波那契数列是指从0和1开始,后续的数值是前两个数值之和,即0, 1, 1, 2, 3, 5, 8, 13, 21, …,该题需要使用递归函数来实现,递归函数的基本思路是将n不断缩小,直到n等于1或2,然后将其返回,最终将所有返回的值相加得到斐波那契数列值。
以下是该题的Python代码实现:
def recursive_fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return recursive_fibonacci(n - 1) + recursive_fibonacci(n - 2)
n = 6
print(recursive_fibonacci(n))
输出结果为:8
阅读全文