История изменений
Исправление LongLiveUbuntu, (текущая версия) :
А если так?
import annotation.tailrec
def fibbonacci(n: Int): Int = {
@tailrec
def runFibonacci(comp1: Int, comp2: Int, acc: Int, n: Int) : Int = n match {
case 0 | 1 => acc
case _ =>
runFibonacci(comp2, comp1 + comp2, comp1 + comp2, n - 1)
}
runFibonacci(0, 1, 1, n)
}
val result = fibbonacci(60)
Console.println(s"result = ${result}")
Исходная версия LongLiveUbuntu, :
А если так?
import annotation.tailrec
def fibbonacci(n: Int): Int = {
@tailrec
def runFibonacci(comp1: Int, comp2: Int, acc: Int, n: Int) : Int = n match {
case 1 => acc
case _ =>
runFibonacci(comp2, comp1 + comp2, comp1 + comp2, n - 1)
}
runFibonacci(0, 1, 1, n)
}
val result = fibbonacci(60)
Console.println(s"result = ${result}")