我在 Scala 中实现了一个斐波那契函数,它工作正常,但是当我输入 50 时,计算它需要很长时间,因为它每次都必须计算前 2 个整数。我找到了一个保留前两个数字的函数。但是,有人可以告诉我如何编写此函数以使其接受 2 个整数而不是 3,并返回最后 2 个数字以计算特定索引 x 处的斐波那契。谢谢!
def fastFib(x: Long ): Long = {
def fast(x:Long , a:Long, b:Long):Long =
if (x<=0) a+b
else fast(x-1,b,a+b)
if (x<2) 1
else fast(x-2,0,1)
}