Можете подсказать, как перевести программу в рекурсию?
Раз уж речь о котлине, то точно нужна версия с хвостовой рекурсией.
fun fib(n: Int) = recursiveFib(n, 1, 1)
private tailrec fun recursiveFib(n: Int, p1: Int, p2: Int): Int = when (n) {
   1 -> p1
   2 -> p2
   else -> recursiveFib (n - 1, p2, p1+p2)
}
Вообще, вычисление чисел фибоначи через рекурсию гораздо легче, чем итеративно )
Определение числа фибоначи
F(1) = 1
F(2) = 1
F(x) = F(x - 1) + F(x - 2)

fun fib(n: Int): Int = when (n) {
    1,2 -> 1
    else -> fib(n-1) + fib(n-2)
}
(только тут нет обработки ошибок)