Я пытаюсь реализовать запомненную функцию числа Фибоначчи, и у меня возникает ошибка компиляции, которую я не могу разобрать.Следующий код - это то, что у меня есть.
var fibs = Map.empty[Int, Int]
fibs += 0 -> 1
fibs += 1 -> 1
fibs += 2 -> 2
val fib = (n: Int) => {
if (fibs.contains(n)) return fibs.apply(n)
else{
// Error here
val result = fib(n - 1) + fib(n - 2)
fibs+= n -> result
return result
}
}
println(fib(100))
Ошибка:
Рекурсивный fib
нуждается в типе
Я пыталсяввод типа возврата для замыкания в разных местах, но я не могу заставить его работать.
Объявление замыкания как val fib = (n: Int): Int => {
приводит к другой ошибке компиляции.
Не могли бы выпожалуйста, помогите мне исправить эту ошибку компиляции?