"""
斐波那契数列2
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13..
求出这个数列的前20项之和。
程序示例
输入:20
输出:32.66026079864164
"""
from functools import reduce
"""
该程序演示了斐波那契数列前20项的求和,通过迭代方法计算每一项,并将它们存储在一个列表中,最后使用reduce函数对列表中的所有项进行求和。
不接受任何参数。
返回值:斐波那契数列前20项的和。
"""
# 初始化斐波那契序列的前两项
a = 2.0
b = 1.0
# 创建一个列表,用于存储斐波那契数列的值
arr = [a / b]
# 循环计算并存储斐波那契数列的接下来的19项
for i in range(1, 20):
# 通过交换操作更新a和b的值
b, a = a, a + b
# 将新计算的项添加到列表中
arr.append(a / b)
# 使用reduce函数对列表中的所有项进行求和
print(reduce(lambda x, y: x + y, arr))
斐波那契数列前20项的求和
未经允许不得转载:创想未来 » 斐波那契数列前20项的求和
评论前必须登录!
注册