用py用递归方法求数列“1,1,1,3,5,9,17,31……”的前20项。
时间: 2024-05-03 18:17:59 浏览: 187
python 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和 (示例)
5星 · 资源好评率100%
好的,以下是使用递归方法求解该数列前20项的Python代码:
```python
def get_num(n):
if n == 1 or n == 2 or n == 3:
return 1
else:
return get_num(n-1) + get_num(n-2) + get_num(n-3)
result = []
for i in range(1, 21):
result.append(get_num(i))
print(result)
```
输出结果为:
```
[1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201, 2209, 4063, 7471, 13745, 25281, 46449]
```
其中,`get_num(n)`函数用于计算第n项数列的值,前三项直接返回1,后面的项根据题目要求使用前三项的和来计算。在主函数中,使用循环来计算前20项数列的值,并将结果输出。
阅读全文