如何计算斐波那契数列的部分和?

时间:2018-09-14 01:07:26

标签: c++ sum fibonacci

我正在Coursera上进行算法工具箱课程,并且陷入作业的问题7。 需要获得两个给定斐波那契数之间的部分和,实际上问题语句要该和的最后一位。

我知道从0到Fn的总和是Fn + 2-1-

所以Fx和Fy之间的部分和是

Fx + 2-Fy + 1,对吗?

到目前为止,到目前为止,我将使用Pisano序列获取Fibonnacci数的最后一位,方法是获取其与序列长度的模数。

但是,当输入为:

时,全部失败

9999999999999999 99999999999999999

我的程序输出4,答案实际上是6。

我检查了代表每个数字需要多少位,并且两者都在64位范围内,并且我使用的是无符号64位整数。

我不确定这是什么问题。

df['CloseDelta_sd'] = df.groupby('symbol').DeltaBetweenClose.transform(lambda x: x.rolling(30).std())

1 个答案:

答案 0 :(得分:1)

z = abs(z)是错误的

如果您得到-4,则答案为6,因此,答案应为z = abs(z),而不是z = (z % 10 + 10) % 10;