Я реализовал функцию Фибоначчи в Scala, и она работает нормально, однако, когда я ввожу 50, ее вычисление занимает много времени, потому что каждый раз приходится вычислять 2 предыдущих целых числа. Я нашел функцию, которая сохраняет 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)
}